Flatlist 계속, 빠르게 rerender 시키니 이전 데이터가 남아있습니다

flatlist에서 data를 빠르게 계속 변경하니
어느순간 1,2개씩 이전 데이터가 가장 위에 남아있습니다.
renderItem을 로 안 보이게 바꿔도 이전 컴포넌트 형식으로 여전히 남아있습니다.
Flatlist를 주석처리하고 저장헀다가 다시 주석 해제하면 이전 데이터는 사라집니다
data에 users를 넣는데
users를 console 찍어봐도 이전 데이터는 남아있지 않습니다…
이건 무슨 경우일까요…ㅜㅜㅜ

추가))
onEndreached가 적용되어 데이터를 더 많이 불러올 때에만 이런 경우가 발생하네요…

Key값을 데이터의id등의 고유값으로 확실히 구분하고 계신가요?

네 keyExtractor에 item.id.toString 넣어주고있습니다!

현재 그냥 loading 추가하여 서버 데이터 느리게 불러오는 식으로 대충 해결했습니다만…
빠르게 불러오고, 많이 변경된다고 flatlist 내에 데이터가 남아있는게 이해가 잘 안 되네요.,

네 코드에 오류가 있을것으로 생각됩니다. 코드를 공유해주셔야 할 것 같습니다. 예상되는것은

  1. renderItem에서 특정 아이템이 재랜더가 안되거나 늦음
  2. data로 사용하는 state의 변경 시점과 랜더링에 문제가 있음
  3. key값의 중복
  4. 플랫리스트 스크롤 관련 버그

정도가 있네요.

좋아요 1