我正在使用一个组件来完成我的应用程序中的所有路由。通过props,该组件中的所有函数都调用navigator.push。
一个例子......
login(navigator) {
navigator.push({view: 'profile'});
}
showModal(navigator) {
navigator.push({
view: 'modal',
sceneConfig: Navigator.SceneConfigs.FloatFromBottom
});
}
当我通过登录功能导航到个人资料时,它会使用floatromright默认值导航我。当我使用showModal导航时,无论我的FloatFromBottom调用如何,它都会执行FloatFromRight。
这里发生了什么?我这样做不正确吗?
$ react-native -v
react-native-cli: 0.1.10
react-native: 0.19.0
David提供的解决方案。我的导航器现在看起来如下:
render() {
return (
<Navigator
style={styles.application}
initialRoute={{id: 1}}
configureScene={route => {
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.FloatFromRight;
}}
renderScene={(route, nav) => {
return this.renderScene(route, nav);
}}
/>
);
}
答案 0 :(得分:1)
如果我错了,有人会纠正我,但我认为你必须在你的导航器中添加这样的内容:
<Navigator
...
configureScene={(route) => {
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.FloatFromRight;
}}
...
/>