如何覆盖反应navigate.goBack()
。我的目标是将数据从子级传递到父级,这将用于更新父级。
react-navigation-goback-and-update-parent-state这里有一个类似的解决方案,但是他们仍然调用this.props.navigation.goBack()
,我希望能够使用标题栏中的后退按钮。
答案 0 :(得分:1)
您可以通过使用回叫功能来实现。
例如:
父类:
在父类中添加一个回调函数,并使用道具将该函数传递给子类。
...
...
//Navigating button
_didTapOnButton() {
this.props.navigation.navigate("NextScreen", {
callBackMethod: this._callBackMethod.bind(this)
});
}
//Call back method
_callBackMethod(dataFromChild) {
//Your logic...
}
...
...
儿童班:
...
...
//Child class back button
_didTapOnBackButton() {
const { params } = this.props.navigation.state; // Take parameter from navigation
params.callBackMethod('data 1'); // Call back function with data: 'data 1'
this.props.navigation.pop();
}
...
...
答案 1 :(得分:0)
使用带有componentWillUnmount的回调可以解决我的问题