与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} />
Flatlist的extraData对我不起作用,我碰巧正在使用来自redux的道具。这听起来与ED209答复中的评论类似。收到道具后,我最终手动调用setState。
对于那些使用> React 17的用户,请使用getDerivedStateFromProps