-
Notifications
You must be signed in to change notification settings - Fork 139
Open
Labels
Description
환경
@egjs/react-flicking: 4.14.0
문제되는 옵션
renderOnlyVisible={true}
배경 및 이슈 요약
- 기존
[email protected]에서 클릭 가능한 영역에 좌우 스크롤이 되지 않는 이슈가 있었음 - 이를 해결하기 위해
4.14.0으로 업그레이드 후 아래와 같이preventDefaultOnDrag(✅)옵션 추가함 - 클릭 영역에 좌우 스크롤은 가능하게 됐지만, 이전 잔상이 남는 현상이 발생함
<Flicking
align={'prev'}
ref={flickingRef}
renderOnlyVisible={true}
preventClickOnDrag={true}
✅ preventDefaultOnDrag={true}
moveType={'strict'}
onChanged={setButton}
>
...
</Flicking>문의 내용
[email protected] 사용 중, renderOnlyVisible={true} 옵션 활성화되어 있으면
좌우 스크롤 중 이전 아이템의 잔상이 화면에 남는 현상이 발생하고 있습니다.
<Flicking
align={'prev'}
ref={flickingRef}
renderOnlyVisible={true}
preventClickOnDrag={true}
preventDefaultOnDrag={true}
moveType={'strict'}
onChanged={setButton}
>
...
</Flicking>해당 renderOnlyVisible 옵션은 현재 보이는 영역의 패널만 DOM에 렌더링하고,
스크롤 시 이전 영역은 제거되고 다음 영역이 추가되는 방식으로 동작하는 것으로 확인했습니다.
좀 더 구체적으로 확인 했을 때, ul 태그 단위로 DOM이 동적으로 제거/추가되면서
렌더링 타이밍에 따라 잔상이 생기는 듯 보입니다.
질문
renderOnlyVisible={true}옵션을 유지하면서도 스크롤 중 잔상 현상을 제거할 수 있는 방법이 있을까요?- 클릭 영역에서 드래그 시 좌우 스크롤이 가능해야 하며, 초기 로딩 최적화를 위해 전체 렌더링은 피하고 싶습니다.