反应导航-检查用户在哪个屏幕上

时间:2019-04-02 09:06:16

标签: react-native react-navigation

我在项目中使用了反应导航,我需要检测用户是否在“仪表板/图形/帖子”页面上。

例如,如果我在“帖子”页面上,则需要一个参数来编写条件语句。

例如如果我仅在“帖子”页面上进行请求

是否可以查看用户在哪个屏幕上?

2 个答案:

答案 0 :(得分:2)

您可以通过navigation对象获取它,尝试一下

this.props.navigation.state.routeName 

答案 1 :(得分:0)

您可以尝试以下操作,

  

在componentDidMount上

componentDidMount() {
    this.subs = this.props.navigation.addListener("didFocus", payload => {
      console.log("PAY_LOAD...", payload);

     // Check the payload and your logic(you can get the current screen name like => payload.state.routeName)
    });
  }
  

关于componentWillUnmount

componentWillUnmount() {
    this.subs.remove();
  }

注意:不要忘记删除“ componentWillUnmount()”上的侦听器