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

问题描述 投票:0回答:2

我在我的项目中使用react-navigation,我需要检测用户是否在Dashboard / Graph / Posts页面上。

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

例如如果我只是在帖子页面,请提出请求

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

react-native react-navigation
2个回答
2
投票

你可以通过navigation对象获得它,试试吧

this.props.navigation.state.routeName 

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()'上的监听器

© www.soinside.com 2019 - 2024. All rights reserved.