如何在用户上次访问的屏幕上保持视图在 react-native 中?
How to keep a view on the screen last visited by the user in react-native?
假设我的应用程序中有三个屏幕。
Screen A, Screen B, Screen C
现在如果用户存在或者当用户在屏幕 B 上时应用程序崩溃,我想在用户再次访问应用程序时将用户直接重定向到屏幕 B。
我正在使用反应导航在屏幕之间导航。
我应该将用户访问的每个屏幕名称存储在异步存储中,然后在应用启动时读取该值并根据该值重定向用户,还是有任何简单易行的方法?
首先也是最重要的事情,就像我在我的应用程序中完成的一样,但它几乎没有什么问题。如果您想在应用程序崩溃时重定向到该屏幕,那么可以按照您建议的方式将页面名称保留在异步存储中,然后在应用程序启动时重定向。
注意事项。
1.您要重定向到的页面不应具有之前任何页面的道具依赖性。
2. 如果应用程序启动,则清除导航堆栈。因此,在 android 中,如果用户单击后退按钮并且您使用了 this.props.navigation.goBack()
,它可能会出现异常,因此请记住这一点。解决这个问题的方法是按下后退按钮,你可以这样做 this.props.navigation.navigate('Screen').
我已经在登录时这样做了,就像我存储令牌一样,如果用户下次打开它不会显示登录页面,但会显示主页。所以你也可以做到。只要注意以上几点即可。
假设我的应用程序中有三个屏幕。
Screen A, Screen B, Screen C
现在如果用户存在或者当用户在屏幕 B 上时应用程序崩溃,我想在用户再次访问应用程序时将用户直接重定向到屏幕 B。
我正在使用反应导航在屏幕之间导航。
我应该将用户访问的每个屏幕名称存储在异步存储中,然后在应用启动时读取该值并根据该值重定向用户,还是有任何简单易行的方法?
首先也是最重要的事情,就像我在我的应用程序中完成的一样,但它几乎没有什么问题。如果您想在应用程序崩溃时重定向到该屏幕,那么可以按照您建议的方式将页面名称保留在异步存储中,然后在应用程序启动时重定向。
注意事项。
1.您要重定向到的页面不应具有之前任何页面的道具依赖性。
2. 如果应用程序启动,则清除导航堆栈。因此,在 android 中,如果用户单击后退按钮并且您使用了 this.props.navigation.goBack()
,它可能会出现异常,因此请记住这一点。解决这个问题的方法是按下后退按钮,你可以这样做 this.props.navigation.navigate('Screen').
我已经在登录时这样做了,就像我存储令牌一样,如果用户下次打开它不会显示登录页面,但会显示主页。所以你也可以做到。只要注意以上几点即可。