javascript-React Navigation:检测应用程序导航到哪个屏幕

我有2个组成部分:

>仪表板-应用程序的入口点
>帖子

在控制台中,在componentDidMount中有一个API调用.
在“帖子”组件中,收到帖子后,我导航至“仪表板”.是否可以检测应用是否已从“帖子”导航到“仪表板”并删除co​​mponentDidMount中的API调用.

检查以下代码:

// Dashboard.js

 componentDidMount() {
   this.handleApiCall(); // default axios get request
// Here I need to detect if the user was navigated to Dashboard from Posts or other component
}


// Posts.js
  handleNavigation = () => {
    this.setState({
      isOpen: false,
    });
      this.props.navigation.navigate('Dashboard');
 };

谢谢!

解决方法:

尝试从Posts.js传递参数

// Dashboard.js
componentDidMount() {

   const { navigation } = this.props;
   const fromPosts = navigation.getParam('fromPosts', false);
   if(!fromPosts) {
     this.handleApiCall(); // default axios get request
   }

}


// Posts.js
handleNavigation = () => {
    this.setState({
      isOpen: false,
    });

    this.props.navigation.navigate('Dashboard', {fromPosts: true});
 };
上一篇:javascript-无法在useEffect之外删除事件侦听器


下一篇:javascript-使用挂钩检测React组件外部的单击