react-native - 在 React-Native 中将数据与导航一起传递到父屏幕
问题描述
我正在尝试在react-native平台中创建一个混合应用程序。我们这里有两页。第一页是选项卡式页面,另一个是详细页面。我想在单击标题部分中的后退箭头时(即发生导航时)从第二页将一些数据传递给父页面,并且想在第一页显示它。
我已成功将数据从父页面传递到子页面,并且该数据正在第二页中使用。但同样不能反过来做。
这是我尝试过的。
父页面
class Menu extends Component {
refresh=(data)=> {
alert(data); } }
render() {
return (
<View>
<TouchableOpacity onPress={() => {this.props.navigation.navigate('ProductDetail',{
onGoBack: this.refresh,
});
}}>
</View>);
}
在子页面
static navigationOptions= ({ navigation }) => {
//const {state} = navigation;
return {
headerTitle: (
<View>
<Image source={require('../images/assets/menuscreenlogo.png')}/>
</View>
),
headerLeft: (
<TouchableOpacity onPress={() => {this.props.navigation.state.params.onGoBack('123');
this.props.navigation.goBack();}} >
<Image source={require('../images/assets/dinnerscreen-backarrow.png')} />
</TouchableOpacity>
),
headerRight: (
<TouchableOpacity>
<Image source={require('../images/assets/dinnerscreen-basket.png')} />
</TouchableOpacity>
),
};
};
谁能帮我做同样的事情?
解决方案
无需this.props.navigation
在子页面中使用,因为您已经在navigation
那里获得了对象,所以它应该是
<TouchableOpacity onPress={() => {navigation.state.params.onGoBack('123');
navigation.goBack();}} >
推荐阅读
- java - 这是在 java 中使用 volatile 变量的好例子吗?
- python - 创建节点名称为 str 的层次树
- sql - 从双重选择和立即执行oracle sql之间的区别
- azure - Akka.net 在 Azure WebJob 中使用时询问超时
- javascript - 使用javascript从开发人员工具中右键单击时如何仅显示“在源面板中打开”选项
- javascript - 从 textarea 读取新行
- python - 安装 wsgi_module debian
- java - 在实时数据库中添加数据,但添加了错误的子项
- hibernate - DaoImpl 中的字段 Dao 需要一个名为“entityManagerFactory”的 bean,但无法找到
- javascript - 链接到 Javascript 函数中的 HTML 页面