typescript - 如何在类组件中使用 this.props.navigation.openDrawer() 而无需从父级传递道具给它?
问题描述
我有这个组件:
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>
)
}
}
我想从我的主文件中调用它,如下所示:
<HeaderBar/>
但他强迫我这样通过他:
<HeaderBar navigation={}> </HeaderBar>
我是 React 的新手,我不太了解它是如何工作的,我该如何解决?我正在使用打字稿。
这是我的 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>
)
}
}
解决方案
推荐阅读
- purescript - purescript 中的模式匹配
- python - 如何根据游戏重播视频检测 FPS 游戏中的相机移动?
- c++ - 为什么第一行会出现除零以外的其他值?
- nuxt.js - 使用 Koa 作为 Nuxt 服务器中间件
- node.js - 无法连接到 MongoDb (MongoNetworkError: connect ETIMEDOUT)
- vb.net - 禁用的标签不会变灰
- python - Python - Outlook 仅在特定范围内搜索电子邮件
- javascript - TypeError : ...map 不是函数 - react.js
- r - 从行到前的最后两个非 NA 观测值
- c# - 如何在不知道完整电子邮件地址的情况下从下拉菜单中选择第一个电子邮件地址?