更改屏幕时平面列表数据丢失

Flatlist data is lost when changing screens

我有一个显示带有一些数据的 Flatlist 的屏幕,但是当我返回到上一个屏幕并返回到带有 Flatlist 的这个区域时,那里的数据并不多。我使用 React Navigation 在屏幕之间移动以及移动数据。

这是我用来返回的代码:

onPress={() => this.props.navigation.goBack()}

当您在第一页时,只会装载该页。然后你使用 Flatlist 转到 page2。现在 page1 和 page2 都挂载了。

当您使用 navigation.goBack() 时,page2 被卸载。这意味着第 2 页上的 this.state 已删除。

所以现在当你第二次去page2时,它被重新挂载(所以使用了new/empty状态)

如果您想保留 mount/unmount/re-mount 之间的状态,您将需要一个状态管理工具,或者通过导航器传递所有数据。