React NavigatorIOS未在replace()上更新标题

tke*_*ers 10 react-native

我在我的根组件中使用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)
            }}
        />
    );
}
Run Code Online (Sandbox Code Playgroud)

尽管视图已正确更新,但在nav.replace()调用之后,title和rightButton不会更改.当我使用nav.push()时,一切都按预期工作.

我是否以某种方式使用此组件错误?

Tho*_*low 3

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