Je suis actuellement en train d'essayer d'utiliser remplacer le comportement du bouton de navigation droit de ma vue appelée 'AppointmentBookingView'. Je suis totalement confus sur la façon dont le Navigator et le NavigationBar fonctionnent ensemble, donc n'ont pas été en mesure de trouver la solution. Quelqu'un peut-il clarifier si cela peut même être fait? J'ai utilisé React Native Gifted Forms.Comment modifier les boutons de la barre de navigation dans une vue?
myapp.ios.js:
static NavbarRouteMapper = {
LeftButton(route, navigator, index, navState) {
if (index === 0) {
return null;
}
var previousRoute = navState.routeStack[index - 1];
return (
<TouchableOpacity
onPress={() => navigator.pop()}
style={styles.navBarLeftButton}>
<Text style={[styles.navBarText, styles.navBarButtonText]}>
Back
</Text>
</TouchableOpacity>
);
},
RightButton(route, navigator, index, navState) {
},
Title(route, navigator, index, navState) {
return (
<Text style={[styles.navBarText, styles.navBarTitleText]}>
{route.name || 'MyApp'}
</Text>
);
}
};
render(){
return (
<Navigator
style={styles.appContainer}
configureScene={this.configureScene}
initialRoute={{name: 'MyApp', component: BookAppointmentView }}
navigationBar={
<Navigator.NavigationBar
style={styles.navBar}
routeMapper={MyApp.NavbarRouteMapper}
/>
}
renderScene={this.renderScene.bind(this)}
/>
);
}
est ici que je voudrais remplacer le comportement
AppointmentBookingView.js
<GiftedForm
formName='bookingForm' // GiftedForm instances that use the same name will also share the same states
openModal={(route) => {
route.giftedForm = true;
this.props.navigator.push(route);
}}
>
</GiftedForm>