我需要将一些道具传递给我的子组件,但是在包含道具的文件和将接收道具的文件之间有一个 tabNavigator。
例子:
Home.js:(这是保存道具的组件)
export default class Home extends Component<{}>
{
render() {
return (
<View style={{ flex: 1 }}>
<TabNavigator
changeScreen={() => this.props.navigation.navigate('Profile'))//this is the props
/>
</View >
);
}
}
TabNavigator.js:
const MainScreenNavigator = TabNavigator({
tab1: {
screen: ChatScreen
},
tab2: {
screen: NoMatterScreen
}
})
ChatScreen.js:(这是我需要使用从 Home.js 发送的道具的组件
export default class ChatScreen extends Component<{}>
{
render() {
return (
<View style={{ flex: 1 }}>
<Button
onPress={() => this.props.changeScreen())
/>
</View >
);
}
}
这里的问题是 TabNavigator,如果两者之间有一个 TabNavigator,ChatScreen 如何从 Home 接收道具?为了清楚起见,Home 发送的道具来自 DrawerNavigator,在我的 DrawerNavigator 中,我有 Home 和 Profile 屏幕。