【发布时间】:2019-04-01 01:49:06
【问题描述】:
我有一个组件从导航道具中获取数据,我用它来设置 CDM() 中的状态:
this.setState({
data: this.props.navigation.getParam('data', 'Some Data')
})
然后在 FlatList 中使用该状态。 当 props 改变时……FlatList 不会更新……直到客户端触摸屏幕。
我已经尝试将道具直接放入FlatList:
data={this.props.navigation.getParam('data', 'Some Data')}
我尝试过使用 extraData 属性:
<FlatList
style={{ flexGrow: 1, marginTop: 10 }}
data={this.state.data}
keyExtractor={(item, index) => index.toString()}
extraData={this.props.navigation.getParam('data', 'Some Data')}
renderItem={({ item }) => {...}>
我尝试使用 componentDidUpdate() 在 props 更改但从未调用 CDU 时重置状态。
编辑: 我有一种感觉是因为当我添加项目时;我正在导航回来 (navigation.goBack()) goBack() 不会刷新状态?我不确定。
【问题讨论】:
标签: react-native react-native-flatlist react-props