小编典典

如何重新呈现单位列表?

reactjs

与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} />

阅读 250

收藏
2020-07-22

共1个答案

小编典典

使用extraDataFlatList组件上的属性。

如文档所述:

通过传递extraData={this.state}FlatList我们,确保更改FlatList时将重新呈现自己state.selected。如果不设置此道具,FlatList就不会知道它需要重新渲染任何项目,因为它也是a
PureComponent,并且道具比较不会显示任何更改。

2020-07-22