在父屏幕中创建方法
returnData(){
PERDROM_EVENT_WITH_RECEIVED_DATA
}
然后绑定这个方法returnData
执行导航代码时使用导航代码
this.props.navigation.navigate("Detail", {name: l.name, subtitle: l.subtitle , returnData: this.returnData.bind(this)})}
在子组件调用中returnData
调用之前的方法goBack()
this.props.navigation.state.params.returnData(RETURN_DATA_YOU_WANT);
this.props.navigation.goBack();
处理返回数据
假设您想要返回两个参数,然后在中添加两个参数returnData()
method
例如,我们采用第一个参数是布尔值,第二个参数是字符串
returnData(flag,id){
USE THIS `flag` and `id` to update state or method call or
What ever you wanted too.
}
在子组件内部传递这两个参数
this.props.navigation.state.params.returnData(VALUE_OF `flag`, Value of `id`);
用于使用参数进行编辑
用这一行替换您的导航代码
this.props.navigation.navigate("Detail", {name: l.name, subtitle: l.subtitle, ordemFunc: this.handleOrdem.bind(this)})>
你必须bind
不使用箭头函数调用的方法
所以问题是
ordemFunc: () => this.handleOrdem()
将此行替换为
ordemFunc: this.handleOrdem.bind(this)