使用react-navigation时,单页面设置navigationOptions中,需要注意的是,static里面不能使用this调用方法,出现onBack is not function
static navigationOptions = ({navigation,screenProps})=>(
{
headerTitle: 'title',
headerBackImage: (
<TouchableOpacity onPress={()=>navigation.state.params.navigatePress()}>
<AntDesign.Icon
style={{
height: 45,
lineHeight: 45,
color: '#EC4C31',
marginLeft: Platform.OS === 'ios' ? 10 : 0,
}}
name="left"
color="#222"
size={20}
/>
</TouchableOpacity>
),
}
)
需要在componentDidMount中使用 this.props.navigation.setParams()
componentDidMount() {
this.props.navigation.setParams({navigatePress:this.onBack})
}
```
需要执行的函数
onBack=()=>{
//加入监听事件实现返回刷新页面
DeviceEventEmitter.emit(‘RecyclingDetails’, tabType);
this.props.navigation.goBack();
}
最后就可以了