Cómo cambiar el título de NavigatorIOS sin cambiar la ruta en React Native

Tengo un NavigatorIOS y TabBarIOS en mi aplicación. Quiero cambiar el título de la ruta actual cuando se selecciona una pestaña.

la primera forma que no funcionó

Al crear NavigatorIOS, utilizo una variable en el estado pero el estado de actualización no cambió el título. (aunque se vuelve a llamar al renderizado)

onTabChanged: function (title) { this.setState({ selectedTab: title, }); }, render() { return ( <NavigatorIOS ... initialRoute={{ component: Tabs, title: this.state.selectedTab, passProps: { onTabChanged: this.onTabChanged } }} /> ); }, 

la segunda forma que no funcionó

También traté de actualizar el estado de los NavigatorIOS que hice reference como nav . Hay un object routeStack en el estado de NavigatorIOS que mantiene una matriz de elementos de ruta. Así que actualicé la matriz a través de setState de NavigatorIOS, pero tampoco funcionó.

la tercera forma que no funcionó

Intenté cambiar el título del Objective C como Native Module, pero no pude llegar a esa barra de navigation específica desde el NSObject.

Espero que alguien pueda ayudar.

Creo que se supone que debes hacer esto con navigator.replace pero en este momento parece que se ha roto el reemploop del título:

https://github.com/facebook/react-native/issues/476

 var route = this.props.navigator.navigationContext.currentRoute; route.title = "newTitle"; route.rightButtonTitle = "newRightButtonTitle", route.onRightButtonPress = () => { ; }; this.props.navigator.replace(route); 

Por cierto, también puede cambiar tintColor de NavigatorIOS siguiendo el código …

 var app = React.createClass({ getInitialState: function() { return { shadowHidden: false, barTintColor: '#f04f46', titleTextColor: '#fff', tintColor: '#fff', } }, _navigator : function(navigatorProps){ this.setState(navigatorProps); }, render: function(){ return <NavigatorIOS ref='nav' style={styles.container} shadowHidden={this.state.shadowHidden} barTintColor={this.state.barTintColor} titleTextColor={this.state.titleTextColor} tintColor={this.state.tintColor} translucent={false} initialRoute={{ title: title, component: component, passProps: Object.assign({ navigatorHook: this._navigator, }, this.props), }} />; } }); 

Ahora, en el próximo Componet

 this.props.navigatorHook({tintColor: 'networking'});