我是本机反应的新手。因此,我一直在浏览react-navigation网站上的一些文档,以了解模式等的工作原理。可以在以下位置找到此代码:https://reactnavigation.org/docs/en/modal.html 我不明白几件事:
static navigationOptions = ({ navigation }) => {
const params = navigation.state.params || {};
onPress={() => navigation.navigate('MyModal')}
class HomeScreen extends React.Component {
static navigationOptions = ({ navigation }) => {
const params = navigation.state.params || {};
return {
headerLeft: (
<Button
onPress={() => navigation.navigate('MyModal')}
title="Info"
color="#fff"
/>
),
/* the rest of this config is unchanged */
};
};
/* render function, etc */
}
class ModalScreen extends React.Component {
render() {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text style={{ fontSize: 30 }}>This is a modal!</Text>
<Button
onPress={() => this.props.navigation.goBack()}
title="Dismiss"
/>
</View>
);
}
}
const MainStack = createStackNavigator(
{
Home: {
screen: HomeScreen,
},
Details: {
screen: DetailsScreen,
},
},
{
/* Same configuration as before */
}
);
const RootStack = createStackNavigator(
{
Main: {
screen: MainStack,
},
MyModal: {
screen: ModalScreen,
},
},
{
mode: 'modal',
headerMode: 'none',
}
);
答案 0 :(得分:0)
第一个问题和第二个问题是相同的问题。您正在将navigation
对象作为参数传递到NavigationOption
中。因此,您不使用从父母那里收到的“ this.props.navigation”。
您需要研究参数。似乎由于缺乏对参数的了解而提出了这个问题。
有用的链接
如果要使用drawer Navigator
,则必须使用与stack navigator
相同的方式进行配置。
有用的链接