我在我的根组件中使用Navigator
IOS组件,并希望在登录注册屏幕之间切换:
navToLogin() { this.refs.nav.replace({ title: "Login",component: LoginScene,rightButtonTitle: "Sign Up",onRightButtonPress: this.navToRegister.bind(this) }); } navToRegister() { this.refs.nav.replace({ title: "Sign Up",component: RegisterScene,rightButtonTitle: "Login",onRightButtonPress: this.navToLogin.bind(this) }); } render() { return ( <NavigatorIOS ref = "nav" style={styles.navigator} initialRoute={{ component: LoginScene,title: "Login",onRightButtonPress: this.navToRegister.bind(this) }} /> ); }
虽然视图被正确更新,标题和rightButton在nav.replace()调用后不会更改.当我使用nav.push()一切都按预期工作.
我使用这个组件错了吗?
你没有使用它错,这是一个Bug NavigatorIOS.如果可以,可能值得使用Navigator,因为更好的支持(Facebook实际上在内部使用它)