gpt4 book ai didi

react-native - 如何从路由器中删除以前的路由?

转载 作者:行者123 更新时间:2023-12-02 15:25:44 29 4
gpt4 key购买 nike

我正在使用 t4t5/react-native-router我无法弄清楚如何删除最后一条路线,以便用户无法返回(登录后)。

有没有办法重置堆栈,使下一条路由成为根?

请注意,我也尝试过 React NavigatorIOS,但它不会更改新路线的标题(文本与初始路线相同)。

最佳答案

使用 resetTo 时更改标题存在问题:https://github.com/facebook/react-native/issues/476 .

这是另一种可能的解决方案:使用 Navigator(不是 NavigatorIOS)。基本上,在 index.ios.js 中我们应该这样做:

renderScene: function(route, nav) {
switch (route.id) {
case 'home':
return <Home navigator={nav}/>;
case 'login':
return <Login navigator={nav}/>;
case 'register':
return <Register navigator={nav}/>
default:
return (
<Login navigator={nav}/>
);
}

},
render: function() {
return (
<Navigator
style={{backgroundColor: '#fff'}}
initialRoute={{ id: "login" }}
renderScene={this.renderScene}
configureScene={(route) => {
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.FloatFromRight
}
}
/>
)
}

如果登录成功,在登录中执行此操作:

this.props.navigator.replace({ id: 'home' });

替换当前路由,以便用户不会返回登录。

可以找到一个例子here .

关于react-native - 如何从路由器中删除以前的路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30513523/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com