首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当应用程序未打开时,世博会链接不会重定向到特定路径

当应用程序未打开时,世博会链接不会重定向到特定路径
EN

Stack Overflow用户
提问于 2020-12-13 15:55:15
回答 1查看 836关注 0票数 0

简单地说,我有三个容器,App.js,Homepage.js,Detail.js

App.js

代码语言:javascript
复制
let Home = createStackNavigator({
  HomePage: { screen: HomePage },
  Detail: { screen: DetailPage, path: 'detail' },
});

const RootPage = createAppContainer(createBottomTabNavigator({
  Home: {
    screen: Home
  },
  xxx: {...}
}));

export default class App extends React.Component {
  render() {
    return (
      <Root>
        <RootPage />
      </Root>
    );
}

Homepage.js

代码语言:javascript
复制
import * as Linking from 'expo-linking';
export default class HomePage extends React.Component {
  ...
  componentDidMount() {
    Linking.getInitialURL().then(this.urlRedirect);

    Linking.addEventListener('url', event => {
        this.urlRedirect(event.url);
    });
  }
  urlRedirect(url) {
      if(!url) return;
      let { path, queryParams } = Linking.parse(url);
      console.log(`Linked to app with path: ${path} and data: ${JSON.stringify(queryParams)}`);
      if (path != null)
        this.props.navigation.navigate("Detail", {
          item: {type: queryParams.type, data: {id: queryParams.id}}
        })
  }
  ...
}

如果应用程序处于后台,则链接{perfix}/-/ detail ?type=A&id=1可以重定向到详细信息页。然而,问题是,如果应用程序没有在后台运行,上面的链接只能重定向到主页。请提供一些建议,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-12-14 11:04:28

最后,我通过在Homepage.js中的构造函数中添加一行代码来解决这个问题。

代码语言:javascript
复制
this.urlRedirect = this.urlRedirect.bind(this);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65277576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档