Ich verwende reagieren nativer Schublade https://github.com/root-two/react-native-drawerReact Native: Kann keine Methode von 'routeMapper' verwendet werden?
Ich versuche, die Methode openDrawer(), indem in Variable in NavigationBarRouteMapper zu nennen. Ich habe versucht, in NavigationBarRouteMapper zu loggen, und es protokolliert die korrekt übergebene Variable. Aber wenn es im Inneren des NavigationBarRouteMapper verwendet, durch die linke Navigationstaste von ‚Open Schublade‘ klicken, tut es nichts:
class drawerPractice extends Component {
...
openDrawer(){
this._drawer.open()
}
render() {
return (
<Drawer
content={<DrawerPanel/>}
openDrawerOffset={100}
ref={(ref) => this._drawer = ref}
type='static'
tweenHandler={Drawer.tweenPresets.parallax}
>
<Navigator
configureScene={this.configureScene}
initialRoute={{name: 'Start', component: Start}}
renderScene={this.renderScene}
style={styles.container}
navigationBar={
<Navigator.NavigationBar
style={styles.navBar}
routeMapper={NavigationBarRouteMapper(this.openDrawer)}
/>
}
/>
</Drawer>
);
}
}
var NavigationBarRouteMapper = openDrawer => ({
LeftButton(route, navigator, index, navState){
return(
<TouchableHighlight onPress={()=>{openDrawer}}>
<Text>Open Menu</Text>
</TouchableHighlight>
)
}
},...
Warum kann das Problem sein?
Haben Sie die Fehlerprotokolle überprüft? Meine Vermutung ist, dass Sie einen Fehler erhalten würden wie 'Uncaught TypeError: Kann die Eigenschaft 'open' von undefined nicht lesen. –
@PatrickRoberts Ja, genau das ist es! Warum tut es so und wie kann ich über die Auflösung gehen? –