更改屏幕时平面列表数据丢失
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 之间的状态,您将需要一个状态管理工具,或者通过导航器传递所有数据。
我有一个显示带有一些数据的 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 之间的状态,您将需要一个状态管理工具,或者通过导航器传递所有数据。