我在我的React Native项目中使用BottomTabNavigator
中的react-navigation
。
我有TAB A
和TAB B
。我需要将参数从A传递到B。
在屏幕A中:
this.props.navigation.navigate('B', {
param: 'Test'
});
在Sceen B中:
const param = this.props.navigation.getParam('param');
param
始终为undefined
。如何在B
中获得参数?
这是因为在我致电B
时navigate
没有重新呈现吗? componendDidUpdate
中没有调用B
。
答案 0 :(得分:0)
Navigation lifecycle
反应导航生命周期事件:
反应导航向订阅的屏幕组件发出事件 他们。您可以订阅四个不同的事件: willFocus,willBlur,didFocus和didBlur。在中阅读有关它们的更多信息 API参考。
这是我要实现要求的目标。 示例:
constructor(props) {
super(props);
this.state = {
alert: false
};
this.formikRef = React.createRef();
this.didBlur = this.props.navigation.addListener('willFocus', payload => {
if (payload.action.params)
this.setState({alert: payload.action.params.alert || false})
}
);
}
// Do not forget to remove listener when component unmount
componentWillUnmount() {
this.didBlur.remove();
}