Je suis en train d'accéder route.id de mon navigateur de son conteneur parent pour être en mesure de masquer/afficher une fonction de Navigators route.idReact natif Callback obtenir des accessoires de navigateur enfant de parent
Je crois communications enfant à parent nécessiterait une fonction de rappel, voici ma tentative.
var Home = require('./Home');
var Navigation = require('./Navigation');
class Parent extends Component {
render() {
return (
<View style={styles.appContainer}>
<Navigation getNavigator={this.getNavigator.bind(this)}/>
<Footer />
</View>
);
}
}
Et est ici le composant enfant
var _navigator;
class Navigation extends Component {
getNavigator(route){
return this.refs.navigator.push(route);
}
render() {
return (
<Navigator
style={styles.container}
ref={(navigator) => { this.navigator = navigator; }}
initialRoute={{
id: 'Home',
index:0,
}}
renderScene={this.navigatorRenderScene}
configureScene={(route) => {
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.PushFromRight;
}}
navigationBar={
<NavigationBar
style={{backgroundColor: '#f5f6f8'}}
routeMapper={NavigationBarRouteMapper} />
}
/>
);
}
navigatorRenderScene(route, navigator) {
_navigator = navigator;
switch (route.id) {
case 'Home':
return (<Home navigator={navigator} {...route.passProps} title="Home" />);
...
}
}
}