我试图让独立的模块拥有自己的路由器,但到目前为止我还无法使其工作。
基本上,我在 index.ios.js
<Router hideNavBar={true}>
<Schema name="default" sceneConfig={Navigator.SceneConfigs.FloatFromRight} />
<Route name="start" component={Start}></Route>
<Route name="main" component={Main}></Route>
</Router>
我在组件Start
中有一个路由器
class Start extends Component {
render() {
return (
<Router name="startRouter">
<Route name="login" component={Login} initial={true} rightTitle="Register" onRight={() => {
Actions.register();
}} />
<Route name="register" component={Register} title="Register" leftTitle="Login" />
</Router>
);
}
};
导航栏已正确呈现,但当我单击“注册”按钮时,出现错误。
你知道我如何才能完成这项工作吗?
谢谢。
最佳答案
我不知道您提出问题时的语法是什么,但在当前版本(3.35.0)中,您不使用名称,而是使用场景的键。
正确的语法是:
class Start extends Component {
render() {
return (
<Router>
<Scene key="startRouter">
<Scene key="login" component={Login} initial={true} rightTitle="Register" onRight={ () => Actions.register() } />
<Scene key="register" component={Register} title="Register" leftTitle="Login" />
</Scene>
</Router>
);
}
};
关于javascript - react native 路由器通量: Nested router in components,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35540094/