Closed kongyb closed 1 year ago
maxDataLength
<- 이거 업비트에서 제공 하는 정보인가요?
혹시 머지하시기전에 chatManager 부분에 현재 코드 pointerInfoSetter({ offsetX: (width 2) / 3 > event.offsetX ? event.offsetX : event.offsetX - 200, offsetY: (height 2) / 3 > event.clientY ? event.clientY - 100 : event.clientY - 250, data: data
->
pointerInfoSetter({ offsetX: (width * 2) / 3 > event.offsetX ? event.offsetX : event.offsetX - 200, offsetY: height - 50 > event.clientY ? event.clientY - 100 : event.clientY - 270, data: data }) 이렇게 수정해주실 수 있을까요?
개요
작업사항
fetch함수변경 기존 캔들 데이터의 마지막 요소의
candle_date_utc
에 Z붙여서 요청하도록 변경기존에
makeDate
로 날짜를 나타내는 문자열을 이용했는데, timeStamp가 실제거래시간이 아니라 저장된 거래시간이어서 가끔씩 오차가 발생하는 문제가 있었음@/components/candleChart/index.tsx
의 option상태에maxRenderStartIndex
,maxDataLength
속성 추가maxDataLength
: 업비트에서 제공하는 데이터의 최대 갯수maxRenderStartIndex
: 데이터의 최대갯수와 화면에 표시되는 캔들유닛의 갯수를 이용해renderStartIndex
가 가질수 있는 최댓값두 속성 모두 초깃값으로
Infinity
를 갖게 되고 기존 로직에 따라 fetching이 이루어지다가 더이상 업비트에서 데이터를 받을 수 없어 fetching의 결과(배열)의 길이가 0이 되면 그때 option상태의 candleCount와 캔들데이터의 길이를 이용해 값을 지정한다.maxDataLength
가Infinity
가 아니라면 fetch자체를 일어나지않도록 조건문 추가이벤트에
maxRenderStartIndex
에 관련된 로직을 추가 drag이벤트의 경우renderStartIndex
가maxRenderStartIndex
와 같을경우 더이상 좌측으로 이동하지 못하도록 if문 추가wheel이벤트의 경우
maxRenderStartIndex
를 새로 계산하고renderStartIndex
가 새롭게 계산된maxRenderStartIndex
보다 큰경우 같이 갱신되게끔 수정마우스 이벤트에 쓰로틀 추가 drag이벤트의 경우 event의 dx를 translateX에 더하는 방식이라 쓰로틀 적용하면 에러발생
mousemove이벤트는 쓰로틀 적용 -> 로컬환경에서 그래도 가끔씩 버벅이는것 체감됨(소켓여부가 은근 체감됨)
이미지