android - 在 React Navigation 中如何更新状态 goBack

标签 android react-native navigation react-navigation

上面的问题已经说明了一切。我有一个 HomeScreen 的 StackNavigation 。 HomesScreen 有一个组件 Location 和一个状态 location ,其中位置存储到 AsyncStorage

使用goBack()函数,我想导航到主屏幕(导航部分已完成)并更新状态位置。我想更新位置状态以在主屏幕中呈现位置。

主屏幕渲染:

<View>
<Text style=>{(this.state.location) ? (this.state.location) : ('Select Current Location')}</Text>
</View>

位置组件

await AsyncStorage.getItem('location').then((location) => {
            this.setState({location: location, persistedLocation: location})
        });
        await AsyncStorage.getItem('region').then((region) => {
            this.setState({region: region, persistedRegion: region})
        });

流程:

enter image description here

如何将“goBack()”上的状态更新到主屏幕?

有什么方法可以更好地做到这一点吗?

最佳答案

经过大量搜索,我终于在这里找到了它:https://github.com/react-community/react-navigation/issues/288

在主屏幕中:

   this.props.navigate("Location", { onSelect: this.onSelect });

  onSelect = data => {
    this.setState(data);
  };

位置屏幕:

const { navigation } = this.props;
    navigation.goBack();
    navigation.state.params.onSelect({ selected: true });

所有问题的正确解决方案,用于更改前一屏幕的状态,在 goBack() 上传递值。

关于android - 在 React Navigation 中如何更新状态 goBack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45182072/

相关文章:

android - 如何检测手机是否连接到 Android Auto

javascript - React Native flexbox - 检测行中的最后一个元素

json - typescript 无法使用 react-native 将 header 添加到获取 api

Swift 如何模仿 navigationController ,没有导航栏

jsf - 使用 JSF 进行页面导航

java - Xml反序列化ValueRequiredException

java - 不兼容的类型错误: Manipulating return value of another class's method

javascript - 如何将此类代码转换为钩子(Hook)? - 原生 react

android - 启动外部应用程序/Activity 并添加我自己的标题?

android - 在 android 中显示大型预渲染动画的首选方法是什么?