【发布时间】:2021-06-05 18:08:19
【问题描述】:
可能我不完全理解当状态改变时 react-native 组件重新渲染的情况。
我有一个名为 MyFlatList 的自定义 FlatList 组件.....它是更大屏幕组件的子组件。
我按照下面的方法将 redux 值传递给 MyFlatList
const mapStateToProps = state => ({
rdx_places: state.places,
});
....然后我在 FlatList 的 renderItem 属性中使用它,如下所示
renderItem={({item}) => {
let placeName = this.props.rdx_places[item.place_id].placeName;
...然后我在 return 语句中使用从 redux 中提取的变量
return (variable placeName used here)
当我触发 action creator 更改 redux 状态 (state.places)..我可以看到它成功更新了 Redux 中的状态....但是 FlatList 不会重新渲染。
有趣的是,父组件确实会重新渲染(父组件也通过mapStateToProps 传递了相同的状态)
【问题讨论】:
标签: react-native react-redux react-native-flatlist