【发布时间】:2020-06-13 13:34:50
【问题描述】:
我正在使用 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'); 并在我调用此方法的同一文件中进行一些更改,应用程序重新加载一切正常,则会出现另一种奇怪的行为。
【问题讨论】:
-
声明
auth场景键似乎是一个错字。致电Actions.auth()应该会将您引导至特定场景。另外,您是否考虑将reset作为type属性传递? -
@kenmistry
Action.auth()确实有效,但在这种情况下,如果我在同一个文件中进行任何更改并保存它并且应用程序重新加载并正常工作,但通常它不起作用应用程序卡住。have you consider passing reset as a type prop?怎么做?抱歉问,但我对 react-native 很陌生。 -
“正常”和“应用程序卡住”是什么意思?当然。我把它作为答案分享给你测试一下。
-
@kenmistry 感谢您的回复。 “通常”意味着当应用程序在另一端运行时,我们更改了一些内容并重新加载了应用程序。 “应用程序卡住”意味着有一个启动画面,一旦应用程序运行以隐藏启动画面,就会在关键
loginSignUp场景组件中实现代码Login(如您在我的路由器中看到的那样),其中代码没有'由于此错误而无法到达。
标签: javascript reactjs react-native react-native-router-flux