inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

처음 배우는 리액트 네이티브

채널 목록 화면 - FlatList 컴포넌트

리액트 메모를 적용했는데 이전에 렌더링 했던 내용을 다시 렌더링 해요

279

김현승

작성한 질문수 1

0

https://github.com/corn1200/rn-chat/blob/master/src/screens/ChannelList.js
React.memo를 코드에 적용했음에도 오류 메세지도 없이 그냥 이전에 렌더링 했던 아이템이 다시 렌더링 되는데 왜 그런지 알 수 있을까요?

flatlist react-native javascript

답변 1

0

김범준

안녕하세요 김현승님, 

  

김현승님의 깃헙 코드로 테스트해보면 정상적으로 동작하고 있습니다. 

아마 출력되는 데이터가 너무 길어서 확인이 어려우실 수 있는데, 
기존 <FlatList>에 windowSize={5} 를 추가로 설정하고 테스트를 해보시기 바랍니다. 

테스트하는 기기에 따라 렌더링되는 숫자에 차이는 있겠지만,
만약 처음 출력되는 데이터가 0부터 30까지라면, 
스크롤을 조금 아래로 움직이면 순서대로 31, 32, 33 이 추가로 출력이 됩니다. 

이때, 기존에 출력되었던 0부터 30까지는 다시 출력이 되지 않고,
추가로 해당 숫자들만 출력되는것을 확인 할 수 있습니다.  

비교를 위해 Item컴포넌트에서 React.memo를 제거하고 테스트를 해보면, 
처음에는 동일하게 0부터 30까지 출력되지만, 
스크롤을 움직이면 31이 추가로 출력되는것이 아니라 0부터 31이 출력이 됩니다. 

  

즐거운 하루 되세요

감사합니다.

 

0

김범준

추가로, ChannelList.js 파일에 3번째 줄에 있는

import Navigation from '../navigations';

코드는 삭제하시기 바랍니다. 

0

김현승

덕분에 문제는 해결하였습니다. 이 강의 덕분에 어렵게만 생각하던 리액트 네이티브에 쉽게 입문할 수 있게 됐어요 너무 감사합니다ㅎㅎ

맥북 m4에서 nvm으로 설치불가

0

116

2

expo 사용하지 않고 앱 실행 시, 데이터 불러오기

0

349

1

리덕스강의는 없나요?

0

275

1

선생님 도와주세요 ㅠㅠ (로그인, 회원가입, 콘솔 에러)

0

507

1

버젼 업데이트

0

425

1

expo start중 metro bundler가 같이 실행되지 않아요

0

504

1

모바일 expo 실행오류

0

854

1

안드로이드에서 expo실행이 안되요

0

849

2

터미널 다운 및 사용방법

0

297

1

expo init 에러

0

743

2

안녕하세요. 스택네비게이션 문제 질문드립니다 ㅜ

0

326

1

배포중 에러 해결이 안되네요.. ㅜㅜ

1

3229

1

안녕하세요! 강의 Chat App - Part 1 회원가입 부분에서 firebase 관련 에러가 납니다.

0

694

1

styled-components 에러

0

405

1

OS 네이트브 코드를 개발하면서 UI 를 리액트 네이티브로

0

493

1

저장하면 바뀐값들 보여야하는데 재렌더링이 안일어납니다..

0

502

1

안드로이드스튜디오 EXPO 어플 튕깁니다 ㅠㅠ

0

286

1

styled component를 사용하면 터집니다 ㅠㅠ

0

413

1

attrs, 속성, props 가 혼란스럽습니다.

0

351

1

안녕하세요, 강의 잘 들었습니다 :) RN과 파이어베이스 관련해서 질문드릴게 있습니다!

0

582

1

자꾸 The request timed out 에러가 뜹니다 .

0

1938

1

코드 좀 봐주세요 버튼 두개가 생성이 안되요

0

284

1

expo 실행시 스타일 속성 바로 보려면 어디서 보나요?

0

434

1

자바스크립트 () => 의미는요???

0

448

2