Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 如何在从react native中的另一个组件导航后刷新堆栈中已存在的组件_React Native_React Navigation - Fatal编程技术网

React native 如何在从react native中的另一个组件导航后刷新堆栈中已存在的组件

React native 如何在从react native中的另一个组件导航后刷新堆栈中已存在的组件,react-native,react-navigation,React Native,React Navigation,我有两个组件A和B。从组件B导航后,我需要刷新组件A componentDid装载无法工作,因为已装载 如何做到这一点。我正在使用react navigation从B->A导航您可以在react native中为相同的内容添加一个侦听器。 同一个列表共有4个。 将聚焦-屏幕将聚焦 didFocus-屏幕聚焦(如果有转换,转换完成) 将模糊-屏幕将不聚焦 didBlur-屏幕未聚焦(如果有转换,转换完成) 请尝试下面的代码 componentDidMount(){ const didFo

我有两个组件A和B。从组件B导航后,我需要刷新组件A

componentDid装载无法工作,因为已装载

如何做到这一点。我正在使用react navigation从B->A导航

您可以在react native中为相同的内容添加一个侦听器。

同一个列表共有4个。

  • 将聚焦-屏幕将聚焦
  • didFocus-屏幕聚焦(如果有转换,转换完成)
  • 将模糊-屏幕将不聚焦
  • didBlur-屏幕未聚焦(如果有转换,转换完成)

  • 请尝试下面的代码

    componentDidMount(){
        const didFocusSubscription = this.props.navigation.addListener(
          'didFocus',
          payload => {
            console.warn('didFocus ', payload);
            # just write your code/call a method here which you want to execute when the app comes from a component
            this.handleRefresh()
          }
        );
    }
    
    完成后别忘了取下它

    componentWillMount(){
        didFocusSubscription.remove();
    }
    

    你能读的更多。谢谢:)

    您可以使用
    react navigation
    中的
    NavigationEvents
    ,也可以传递一个回调,该回调将在
    navigation.goBack()
    上触发

    检查此零食:

    组件已安装(存在于堆栈中)。我需要去A->B和B->A(刷新A)。此外,componentWillMount也被弃用。相反,如果您要导航回另一个组件,请使用componentDidMount()来执行此操作。或者,如果不想添加listner,可以清除堆栈