小编Kri*_*ero的帖子

深度链接到具有不同参数的已打开屏幕。是否可以?

我正在开发一个应用程序,它有一个类别屏幕,其中显示该类别的相关帖子。我正在使用反应导航在屏幕之间导航并处理深层链接。类别屏幕可以在应用程序内或通过深层链接访问。要通过深层链接访问类别屏幕,我正在使用类似myapp://category/:id.

如果应用程序已打开并且专注于类别屏幕,则深层链接不会执行任何操作。

我目前已经使用componentDidUpdate生命周期方法“修复”了它,以比较存储在状态中的 ID 和navigation.getParam.

componentDidUpdate = () => {
  const { navigation } = this.props;
  const { categoryID } = this.state;
  const paramID = navigation.getParam('id', null);

  if (paramID !== categoryID) {
    this.setState({ categoryID: paramID }, () => {
      // fetch data
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说似乎是一个肮脏的修复。有更好的方法吗?也许使用推送打开所有深层链接而不是通过反应导航进行导航?

deep-linking react-native react-navigation

4
推荐指数
1
解决办法
1993
查看次数