gpt4 book ai didi

reactjs - 如何重新渲染平面列表?

转载 作者:行者123 更新时间:2023-12-03 12:54:30 25 4
gpt4 key购买 nike

与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 属性。

正如文档所述:

By passing extraData={this.state} to FlatList we make sure FlatList will re-render itself when the state.selected changes. Without setting this prop, FlatList would not know it needs to re-render any items because it is also a PureComponent and the prop comparison will not show any changes.

关于reactjs - 如何重新渲染平面列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43397803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com