1111

react native navigationOptions中不能获取this

static navigationOptions = ({ navigation, navigationOptions,screenProps }) => {
const { params } = navigation.state;
return {
tabBarVisible: true,
headerRight:(
<View>
<TouchableOpacity onPress={()=>navigation.state.params.navigatePress()}>
//this.order()
<View style={{marginRight:30/1536*width}}>
<Text style={styles.hadlesub}>点餐</Text>
</View>
</TouchableOpacity>
</View>
)
}
};

// 点击完成按钮
order = ()=> {
alert('haha');
}

componentDidMount() {
// 处理数据源
this.props.navigation.setParams({navigatePress:this.order})
}

方法二:

在最外部声明:
let that;
在class内部:
constructor(props){
        super(props);
        that = this;
}
在const * = StackNavigation({})中:
static navigationOptions = ({ navigation, navigationOptions,screenProps }) => {
const { params } = navigation.state;
return {
tabBarVisible: true,
headerRight:(
<View>
<TouchableOpacity onPress={() => that.order()}>
<View style={{marginRight:30/1536*width}}>
<Text style={styles.hadlesub}>点餐</Text>
</View>
</TouchableOpacity>
</View>
)
}
};

order = ()=> {
alert('haha');
}
posted @ 2018-10-17 14:57  星小星啊  阅读(2305)  评论(0编辑  收藏  举报