我正在使用react-native-router-flux
进行导航但出现此错误的应用程序中工作>
这是我的路由器
<Router navTransparent> <Lightbox> <Scene key="root" tintColor="#fff" style={{position: 'absolute'}} hideNavBar> <Scene key="redirect" component={EnsureAuthentication}/> <Scene key="auth" navBar={CustomNavBar}> <Scene key="loginSignUp" component={Login} hideNavBar/> <Scene key="login" component={LoginForm} title={I18n.t('loginTitle')} /> <Scene key="signUp" component={SignUpForm} title={I18n.t('signUpTitle')}/> <Scene key="googleLogin" component={GoogleLogin}/> </Scene> <Drawer hideNavBar key="app" contentComponent={DrawerContent} drawerWidth={300} drawerOpenRoute="DrawerOpen" drawerCloseRoute="DrawerClose" drawerToggleRoute="DrawerToggle"> <Scene key="main" navBar={CustomNavBar}> <Scene key="MapSearch" component={MapSearch}/> <Scene key="ScanQr" hideNavBar component={ScanQr} /> <Scene key="searchList" hideNavBar component={SearchList}/> <Scene key="editUserProfile" component={EditUserProfile} title={I18n.t('update')} /> <Scene key="stallDetails" hideNavBar component={StallDetails}/> <Scene key="customise" hideNavBar component={Customise}/> <Scene key="cart" hideNavBar component={Cart}/> <Scene key="favourites" hideNavBar component={Favourites}/> </Scene> </Drawer> </Scene> <Scene key="overlay"/> <Scene key="orderOverlay" hideNavBar component={OrderOverlay}/> <Scene key="confirmOverlay" hideNavBar component={ConfirmOverlay}/> <Scene key="forgotPasswordOverlay" hideNavBar component={ForgotPasswordOverlay}/> <Scene key="forgotPwdSuccessOverlay" hideNavBar component={ForgotPwdSuccessOverlay}/> </Lightbox> </Router>
我正在打电话给
Actions.reset('auths');
[如果我调用Actions.auths()
而不是Actions.reset('auths');
并在我要调用此方法的同一个文件中进行一些更改,则应用程序会重新加载一切正常,这是另一个奇怪的行为。
我正在使用我使用react-native-router-flux进行导航但遇到此错误的应用程序,这是我的路由器
key
的Action
值未完全按照Scene
中的声明进行调用。调用Action.auth()
应该可以正常工作并解决错误。我可以看到您正在尝试重置Scene
。您也可以通过在reset
中声明Router
作为道具来做到这一点。这样,每次导航到Scene
都会触发reset
。
<Scene key="auth" navBar={CustomNavBar} type={ActionConst.RESET}>
如果您尝试为认证过程流设置场景的堆栈,则可以尝试设置一个具有initial
属性的堆栈。我在这里添加了一个代码段进行测试: