react-native - 如何在用户上次访问的屏幕上保持 native 的 View ?

标签 react-native react-native-navigation

假设我的应用程序中有三个屏幕。

Screen A, Screen B, Screen C

现在,如果用户存在或者当用户在屏幕 B 上时应用程序崩溃,我想在用户再次访问应用程序时将用户直接重定向到屏幕 B。

我正在使用 react-navigation 在屏幕之间导航。

我应该将用户访问的每个屏幕名称存储在异步存储中,然后在应用启动时读取该值并根据该值重定向用户,还是有任何简单易行的方法?

最佳答案

首先也是最重要的事情,就像我在我的应用程序中所做的那样,但几乎没有什么问题。如果您想在应用程序崩溃时重定向到该屏幕,那么按照您的建议,可以将页面名称保留在异步存储中,然后在应用程序启动时重定向。

要记住的事情。
1. 您要重定向到的页面在此之前不应有来自任何页面的 props 依赖项。
2. 如果应用程序启动,则清除导航堆栈。因此,在 android 中,如果用户单击后退按钮并且您使用过 this.props.navigation.goBack()它可能行为不当,所以请记住这一点。解决此问题的方法是按下后退按钮,您可以这样做 this.props.navigation.navigate('Screen').
我在登录时这样做过,就像我存储 token 一样,如果用户下次打开它不会显示登录页面,而是显示主页。所以你也可以做到。只要注意以上几点。

关于react-native - 如何在用户上次访问的屏幕上保持 native 的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58851210/

相关文章:

ios - 如果我将sdk文件夹放在react-native项目中,Facebook sdk无法正常工作吗?

react-native - JS 线程似乎暂停了

react-redux - react native 导航 - componentDidMount() 触发两次

android - 打开抽屉导航时更改顶部栏的背景颜色

javascript - React-native 的流媒体、Youtube 和离线视频播放器组件

react-native - React Native 只允许 TextInput 的小写输入

node.js - React Native 错误 - 找不到变量 : self

react-native - 如何在 react native 中删除 react 导航的事件监听器?

javascript - mergeOptions 更改未反射(reflect)

javascript - 如何在 React Native 中创建药丸输入字段?