我在我的根组件中使用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实际上在内部使用它)