ListView와 달리 this.state.datasource를 업데이트 할 수 있습니다. FlatList를 업데이트하거나 다시 렌더링 할 수있는 메서드 나 예제가 있습니까?편평리스트를 다시 렌더링하는 방법은 무엇입니까?
내 목표는 사용자 버튼을 누르면이 ...
renderEntries({ item, index }) {
return(
<TouchableHighlight onPress={()=> this.setState({value: this.state.data[index].value+1})>
<Text>{this.state.data[index].value}</Text>
</TouchableHighlight>
)
}
<FlatList
ref={(ref) => { this.list = ref; }}
keyExtractor={(item) => item.entry.entryId}
data={this.state.data}
renderItem={this.renderEntries.bind(this)}
horizontal={false} />
(https://facebook.github.io/react-native/docs :
유일한 것은 염두에 두어야 할 필요는
section
는 DIFF 구조를 가지고있다 /flatlist.html) say "이것은 'PureComponent'입니다. 즉, props가 얕게 같으면 다시 렌더링하지 않습니다 .' renderItem' 함수가 의존하는 모든 것이'= =='업데이트를하지 않으면 변경시 UI가 업데이트되지 않을 수 있습니다. 여기에는'data' prop 및 부모 구성 요소 상태가 포함됩니다. " 이 조언을 따르고 있습니까? –'extraData'와'shouldItemUpdate'로 무엇을 시도했는지에 상관없이 목록을 다시 렌더링 할 수 없습니다. 내가 끝낸 것은 국가를 지우고, 렌더링을 기다렸다가 상태를 업데이트하는 것이 었습니다. 'this.setState ({data : null},() => {this.setState ({data : actualData})}); ' –