Javascript 反应本机路由器操作。不执行任何操作
我正在向我的应用程序添加一个简单的登录屏幕,但一旦用户通过身份验证,我就无法调用Actions.home 我有一个按钮,按下时调用函数连接到服务器并获取身份验证状态,成功后调用Actions.home。但什么也没发生。没有错误或警告。没什么 我已经尝试过它的所有形式,Actions.home,Actions.home(),{Actions.home},将Actions.home保存为构造函数中的状态,然后使用state。。。什么都没用 但在我的其他屏幕上,当我调用Actions时,在onPress道具的某个地方,它是有效的 我阅读了这里的大部分问题,以及关于StackOverflow的问题(没有太多),但不明白哪里出了问题。我使用了所有建议的解决方案,但什么都没有 当我运行console.log(Actions.home)时,我看到的是: 以下是我的脚本: 路由器.jsJavascript 反应本机路由器操作。不执行任何操作,javascript,react-native,url-routing,react-native-router-flux,Javascript,React Native,Url Routing,React Native Router Flux,我正在向我的应用程序添加一个简单的登录屏幕,但一旦用户通过身份验证,我就无法调用Actions.home 我有一个按钮,按下时调用函数连接到服务器并获取身份验证状态,成功后调用Actions.home。但什么也没发生。没有错误或警告。没什么 我已经尝试过它的所有形式,Actions.home,Actions.home(),{Actions.home},将Actions.home保存为构造函数中的状态,然后使用state。。。什么都没用 但在我的其他屏幕上,当我调用Actions时,在onPres
......
我认为问题在于您试图从登录转到嵌套在另一个场景中的场景。从登录的上下文中,您可以使用Actions.tabsRoot
,因为它是相邻的场景
下面是我使用react native router flux
构建的一个快速示例来测试这一点
<Router>
<Scene key='pageOne' component={PageOne} initial={true}/>
<Scene key='home'>
<Scene key='pageTwo' component={PageTwo}/>
<Scene key='pageThree' component={PageThree}/>
</Scene>
</Router>
从pageOne我可以调用Actions.home
,它会转换到该堆栈中的第一个场景,或者转换到该堆栈中启用了initial
的场景。但是,如果我尝试从pageOne调用Actions.pageTwo
,它将不起作用
希望这有帮助。:) 您应该调用Actions.tabsRoot并将主场景设置为初始
<Scene key="home" title="saba" component={Home} navBar={NavBar} initial/>
有没有办法直接从
pageOne
调用pagethird
?