我正在为我的Android本机应用程序使用React Navigation
(https://reactnavigation.org)。
我进行了与https://reactnavigation.org/docs/en/auth-flow.html
中所述类似的流程我添加了SignUp和ForgottenPassword屏幕。应用程序在登录屏幕(未登录)上启动,您可以选择进入登录屏幕,但是在这里我看到了小问题。上一个屏幕(SignIn)尚未卸载,并在后台运行。使用这个小示例时,这不是什么大问题,但是随着我的应用程序的发展,我将获得许多嵌套屏幕,并且我不希望所有这些屏幕都在后台加载。
简单的问题:如何在切换到其他屏幕后卸载(卸载组件)并在单击“后退”按钮后将其装载(装载)?
答案 0 :(得分:1)
我要说的就是移动导航的工作原理。导航堆栈由React Navigation自动管理,并记录在here中。 想象一下一个iOS应用,您可以在其中滑动返回到上一个屏幕-您可以在滑动过程中看到上一个屏幕。如果该组件确实卸下,则不可能。
不过,您可以使用navigation
道具来管理导航堆栈:请参见navigation prop reference。使用navigation.replace
应该正确地卸载组件,因为它已被新的路由替换,因此不再需要(如果您没有使用相同的路由,但是使用了不同的参数来替换它)。