【发布时间】:2019-12-02 10:41:41
【问题描述】:
我有显示人员资料的 React Native 应用程序(例如 Facebook)。我使用 React Navigation 在屏幕之间导航。
在个人页面上,您可以按另一个个人项目,它会导航到具有不同个人 ID 的同一个人页面。
这是我按下人员项目时的导航方式:
props.navigation.push('PersonPage', {personId: person.id})
它正在工作并导航到新屏幕,并且还正确获取数据(人员详细信息),但在页面呈现新数据之前,我收到此错误:
JSON value '<null>' of type NSNull cannot be converted to NSNumber。
当我点击关闭错误时,我可以看到完整的个人资料,一切都很好。
但是当我返回 (props.navigation.goBack()) 时,它会移回上一页(人物页),但最后一个人的 id 丢失并且页面为空。
如何正确处理?为什么我会收到此错误?以及返回时如何保存前一个人的id?
谢谢!
【问题讨论】:
-
能否提供导致错误的代码部分。
-
我不知道是什么导致了这个错误。错误不明确,也不具体。我所知道的是,它发生在我使用不同的参数导航到同一个屏幕之后。无论如何,我更关心找到在这些屏幕之间导航的正确方法。谢谢!
-
您使用的是哪个状态管理工具?
-
我正在使用 Redux
-
是的,所以当页面在后台时你应该阻止屏幕更新新数据。在 shouldComponentUpdate 方法中做一些逻辑
标签: react-native react-navigation react-native-navigation