我如何关闭当前屏幕并使用 react-native-router-flux 打开另一个屏幕
How I close de current screen and open another screen with react-native-router-flux
我正在使用 react-native-router-flux 并尝试关闭当前屏幕,然后打开另一个屏幕,我该怎么做? react-native-router-flux 的版本是 4.0.0
react-navigation-router-flux API 有不同的导航功能(push, replace, reset...),具体要用哪个就看你的需求了:
如果您想从第一个屏幕导航到第二个屏幕,然后您希望能够返回Actions.pop()
,那么您只需要通过以下操作导航到第二个屏幕Actions.push("second-screen")
.
另一方面,如果您只需要从第一个屏幕切换到第二个屏幕(并且您不希望在那之后能够返回),那么您可以这样做Actions.reset("second-screen")
,重置导航堆栈。
或者您可能还需要使用 Actions.replace("second-screen")
,它会从您的导航堆栈中删除 "first-screen",然后将 "second-screen" 推送到它,因此您也会导航。
要做到这一点,你当然应该在之前声明你的路线,例如你可以这样做:
import { Router, Scene } from 'react-native-router-flux';
...
<Router>
...
<Scene>
<Scene key="first-screen" component={FirstComponent} />
<Scene key="second-screen" component={SecondComponent} />
</Scene>
...
</Router>
在这里你可以找到所有 Actions documentation.
我正在使用 react-native-router-flux 并尝试关闭当前屏幕,然后打开另一个屏幕,我该怎么做? react-native-router-flux 的版本是 4.0.0
react-navigation-router-flux API 有不同的导航功能(push, replace, reset...),具体要用哪个就看你的需求了:
如果您想从第一个屏幕导航到第二个屏幕,然后您希望能够返回
Actions.pop()
,那么您只需要通过以下操作导航到第二个屏幕Actions.push("second-screen")
.另一方面,如果您只需要从第一个屏幕切换到第二个屏幕(并且您不希望在那之后能够返回),那么您可以这样做
Actions.reset("second-screen")
,重置导航堆栈。或者您可能还需要使用
Actions.replace("second-screen")
,它会从您的导航堆栈中删除 "first-screen",然后将 "second-screen" 推送到它,因此您也会导航。
要做到这一点,你当然应该在之前声明你的路线,例如你可以这样做:
import { Router, Scene } from 'react-native-router-flux';
...
<Router>
...
<Scene>
<Scene key="first-screen" component={FirstComponent} />
<Scene key="second-screen" component={SecondComponent} />
</Scene>
...
</Router>
在这里你可以找到所有 Actions documentation.