react-native - 使用navigation.goBack()时如何将数据发送回上一个屏幕?
问题描述
我有屏幕 1,我从中导航到屏幕 2:
navigation.navigate('Screen2')
从这个屏幕,我想转到上一个,很简单:
navigation.goBack()
但是我想知道如何将一些数据传递回 Screen1?像这样的东西行不通navigation.goBack({ myData: 'something' })
,所以我想知道一般推荐的方法是什么?
解决方案
您可以通过 2 种方式解决它:
1:使用导航方式
通过导航调用该屏幕时传递一个方法:
this.props.navigation.navigate('Screen2', {
onGoBack: this.refresh,
});
refresh=(data)=> {
}
当你按回时,传递数据,如
this.props.navigation.state.params.onGoBack('123');
this.props.navigation.goBack();
2:使用redux store
如果您在应用程序中使用 redux,只需在用户按下后退按钮时更新 redux 存储,并在前一个屏幕中获取存储值。
推荐阅读
- javascript - 为贪吃蛇游戏添加高分
- algorithm - 在 SQL 之外使用 HLL_COUNT.MERGE
- c# - 如何执行WebClient?
- python - RegEx 用于捕获和替换字符串中除特殊模式外的所有数字
- react-native - 我应该如何使用“动画”库为 React 原生组件制作动画
- gradle - 命令行中的gradle任务顺序
- objective-c - 如何在 swift 中使用内联方法分配回调处理程序?
- javascript - 当元素在模态中时,Angular ViewChildren 不起作用
- javascript - jQuery版本重叠问题
- javascript - 如何通过javascript获取steam昵称