그래서 나는 React Native
을 처음 접했고 redux
과 react-navigation
으로이 앱을 만들고 있습니다. 문제는 다음과 같습니다.React Native re-rendering Listview
API에서 레코드를 가져 오는 중, 정상적으로 작동합니다. 레코드를 가져 오는 동안 Loading
아이콘이 나타나면 Listview
레코드가 표시되고 레코드가없는 경우 Text
이 표시됩니다. 그런 다음 갑자기 레코드가 표시되지 않고, Loading
아이콘은 레코드가있을 때 계속 표시되지만 레코드가없는 경우 Text
이 표시됩니다.
이 버그의 원인은 무엇입니까? Expo
을 사용하고 있으므로 페치 된 레코드를 콘솔에 인쇄하고 레코드가 있습니다. 또한 데이터를 가져온 후 을 render
함수에 넣었습니다. 즉, 그냥 Listview
을 렌더링하지 않는다는 의미입니다.
미리 감사드립니다. 아래의 제안과 내가 FlatList
에서 전달 된 item
는 내가 그것을 가지고 목록에 전달 된 데이터를 인쇄 할 때 이상한 원인은 다시 인 정의되지 않은 것으로 나타났습니다로
UPDATE 그래서
내가 FlatList
을 사용했습니다 내용. 여기에 내 현재 코드 :
MyFlatlist
return <FlatList
data={data} //an array of objects
renderItem={this._renderItem} //console prints undefined
/>
//I also tried
return <FlatList
data={data} //an array of objects
renderItem={({item}) => this._renderItem(item)} //I think this doesn't call the method cause it doesn't print anything on the console.
/>
MyRenderItem
_renderItem = ({item}) => {
console.log(item)
}
FINAL UPDATE
그래서, 내가 얻을 먼저 API를이 문제의 원인 두 가지 요인이 있었다 내 데이터가 내보기에서 액세스하는 필드에 어떤 결과가 더 이상 존재하지 않는 것으로 변경되었습니다. React Native
이것을 결과적으로 렌더링은 에러 메시지없이 멈추고 그 이유는 그것이 찾기 어렵 기 때문이다. 둘째, FlatList
을 사용하면 renderItem 함수로 보낸 항목 당 실제 데이터가 포함 된 item
속성이있는 객체 아래에 있으므로 렌더링이 다시 중지됩니다.
내 설정에 관한 한 지금까지 수정되었습니다. 모든 도움을 주셔서 감사합니다!
몇 가지 코드를 알려주십시오. 잘못된 것일 수 있습니다. –
아, 죄송합니다. 모든 코드가 제대로 작동하지 않는다고 말하면서 코드를 표시 할 수 없었습니다. 갑자기 코드가 작동하지 않는다고 말했기 때문에 코드에 손을 대지도 못했고 다른 요인은 무엇입니까? – Jed
아, 작동하고 있었는데 아무런 변화없이 멈췄습니까? 나는 엑스포를 실제로 사용하지는 않았지만 모든 것을 닫고 실행중인 모든 포장기를 멈추고 다시 실행 해보려고합니다. –