React native 在没有渲染功能的情况下运行时,无法使用navigationoptions导航到设置屏幕
在编写代码时,不是在“渲染”功能中,按钮没有导航到页面/屏幕。 它显示找不到变量“this.navigation.navigate” OnPress函数只是发出错误React native 在没有渲染功能的情况下运行时,无法使用navigationoptions导航到设置屏幕,react-native,React Native,在编写代码时,不是在“渲染”功能中,按钮没有导航到页面/屏幕。 它显示找不到变量“this.navigation.navigate” OnPress函数只是发出错误 static navigationOptions = { headerTitle: 'Review Jobs', headerRight: ( <Button onPress={() => this.navigation.navigate('settings')}
static navigationOptions = {
headerTitle: 'Review Jobs',
headerRight: (
<Button
onPress={() => this.navigation.navigate('settings')}
title="Settings"
color="#fff"
/>
),
}
静态导航选项={
标题:“回顾工作”,
头灯:(
this.navigation.navigate('settings')}
title=“设置”
color=“#fff”
/>
),
}
这样做:
render() {
return (
<View>
<Button title="show me settings" onPress={this.GoToSettings} />
</View>
);
}
GoToSettings= () => {
this.props.navigation.navigate('Settings');
};
render(){
返回(
);
}
GoToSettings=()=>{
this.props.navigation.navigate('Settings');
};
编辑1
哦,对不起,我想我一开始误解了
您需要通过Fat-Arrow函数传递值({navigation})),否则onPress函数无法使用它
这是我希望您正在搜索的内容:
static navigationOptions = ({ navigation}) => ({
title: "Review Jobs",
headerRight: <Button title="Settings" onPress={()=>{
navigation.navigate('settings'); }} />,
});
静态导航选项=({navigation})=>({
标题:“审查工作”,
头灯:{
navigation.navigate('settings');}}}/>,
});
您需要传递导航输入参数,如下所示
static navigationOptions = ({navigation}) => {
headerTitle: 'Review Jobs',
headerRight: (
<Button
onPress={() => navigation.navigate('settings')}
title="Settings"
color="#fff"
/>
),
}
静态导航选项=({navigation})=>{
标题:“回顾工作”,
头灯:(
导航。导航('settings')}
title=“设置”
color=“#fff”
/>
),
}
您应该使用胖箭头功能并将{navigation}
az道具传递给静态导航选项
您需要的代码是:
static navigationOptions = ({ navigation }) => {
headerTitle: "Review Jobs",
headerRight: (
<Button
onPress={() => navigation.navigate("settings")}
title="Settings"
color="#FFF"
/>
),
}
静态导航选项=({navigation})=>{
标题:“回顾工作”,
头灯:(
导航。导航(“设置”)}
title=“设置”
color=“#FFF”
/>
),
}