typescript - Hur man använder this.props.navigation.openDrawer() i en klasskomponent utan att behöva skicka props till den från föräldern?
Jag har denna komponent:
class HeaderBar extends Component<Props> {
render() {
return (
<View style={stylesHeaderBar.header}>
<View style={stylesHeaderBar.menuIconContainer}>
<Icon name='menu' onPress={() => this.props.navigation.openDrawer()} />
</View>
<View style={stylesHeaderBar.titleAndLogoContainer}>
<Image style={stylesHeaderBar.image} source={require('../../assets/icon.png')} />
<Text> Restaurantes </Text>
</View>
</View>
)
}
}
Och jag vill kalla det från min huvudfil så här:
<HeaderBar/>
Men han tvingar mig att passera honom så här:
<HeaderBar navigation={}> </HeaderBar>
Jag är ny på React och jag har inte mycket idé om hur det fungerar, hur kan jag fixa det? Jag använder TypeScript.
Det här är min App.tsx:
class App extends Component {
render() {
return (
<View style={{flex: 1}}>
<HeaderBar navigation={this.props}></HeaderBar>
<NavigationContainer>
<Drawer.Navigator>
<Drawer.Screen name='Pedidos' component={MainScreen}/>
<Drawer.Screen name='Historial' component={HistorialScreen}/>
</Drawer.Navigator>
</NavigationContainer>
</View>
)
}
}