当我单击导航栏上的标题右按钮时,我遇到了一个问题。 我需要从headerRight按钮移动下一个屏幕,但是我得到“未定义不是对象(正在评估_this4.props。导航)” 。
这是我的代码,请检查并帮助我。
static navigationOptions = ({navigation}) => ({
headerRight: (
<TouchableOpacity onPress={() => this.props.navigation.navigate('Setting')}
style={{right: Platform.OS === 'ios' ?
Dimensions.get("window").height < 667 ? '10%' : '30%' : '25%',
backgroundColor: 'transparent',
paddingLeft: 15}}>
<Image style={{width: 20, height: 20}}
source={require('../assets/icons/setting/setting.png')}/>
</TouchableOpacity>
),
});
答案 0 :(得分:0)
您将navigation
作为navigationOptions
中的道具传递,因此可以直接在navigation
中使用,而不能与this.props.navigation
一起使用。
static navigationOptions = ({navigation}) => ({
headerRight: (
<TouchableOpacity onPress={() => navigation.navigate('Setting')}
style={{right: Platform.OS === 'ios' ?
Dimensions.get("window").height < 667 ? '10%' : '30%' : '25%',
backgroundColor: 'transparent',
paddingLeft: 15}}>
<Image style={{width: 20, height: 20}}
source={require('../assets/icons/setting/setting.png')}/>
</TouchableOpacity>
),
});