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');
}