阵营NavigatorIOS不是取代()

问题描述:

我用我的根组件一个NavigatorIOS组件,并希望登录之间切换的登录画面更新标题:阵营NavigatorIOS不是取代()

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", 
       rightButtonTitle: "Sign Up", 
       onRightButtonPress: this.navToRegister.bind(this) 
      }} 
     /> 
    ); 
} 

虽然观点正确更新时,标题和rightButton在nav.replace()调用后不会更改。当我使用nav.push()一切都按预期工作。

我用这个组件错了吗?

+0

GitHub上的相关问题:https://github.com/facebook/react-native/issues/894 – Lapixx

+0

..这实际上是https://github.com/facebook/react-native/issues/476的副本 – Lapixx

你没有使用它错了,这是一个错误NavigatorIOS。如果可以的话,它可能是值得使用Navigator,而不是更好的支持(Facebook实际上是在内部使用它)