reactjs - 如何使用参数弹出到上一个屏幕?
问题描述
我在当前状态为 {key:'value'} 的屏幕 A 上,我导航到屏幕 B
现在我试图再次从屏幕 B 弹出到屏幕 A ,但我不想丢失屏幕 A {key:'value'} 中的当前状态
一些解决方案是将数据保存在 AsynStorage 中,并在返回屏幕 A 时检索它,但这不是一个好习惯
.pop() 这样做,但如果我需要返回额外的参数怎么办?
Navigation.pop(this.props.componentId , {
passProps: {
data : 'current',
more : 'just-example'
}});
上面的代码,没有用
有什么建议么 ?
我不使用任何状态管理工具,例如 Redux/Mobx ..
解决方案
我发现一个好的解决方案是发送带有参数的回调函数
在屏幕 A
getback(success)
{
alert(success);
}
Navigation.push(this.props.componentId , { component : {
name : "Payment",
passProps: {
subscription : current,
getback: this.getback
},
}});
然后在屏幕 B 中,当您弹出到屏幕 A 时,触发 getback 功能
Navigation.pop(this.props.componentId);
this.props.getback(true);
这对我很有效
推荐阅读
- c - 在主函数之前使用预处理器时显示错误
- android - 更改特定条目的颜色
- python - 如何使用 python 以 tail -f 方式读取 csv 文件?
- angular - 如何在 Ionic 中打开组件
- mysql - 如何在 MySQL 中使用外键选择一行表?
- spring - Spring Kafka 单元测试出错:无法确定 TestUtils.createBrokerConfig()
- haskell - Haskell - 字符串仅由另一个字符串中的字符组成
- android - 我可以在安卓手机响铃时获得音量调高或调低的事件吗?
- rest - 如何在 REST Assured 中发送带有 Authentication 标头的 GET 请求?
- javascript - 通过标签和JS删除样式