反应导航:检测应用导航到哪个屏幕

时间:2019-03-27 19:21:48

标签: javascript reactjs react-native react-navigation react-props

我有2个组成部分:

  1. 仪表板-应用程序的入口点
  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');
 };

谢谢!

1 个答案:

答案 0 :(得分:2)

尝试从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});
 };