【问题标题】:How to redirect users to specific screen of App from URI scheme in React navigation?如何在 React 导航中将用户从 URI 方案重定向到 App 的特定屏幕?
【发布时间】:2021-10-22 15:08:00
【问题描述】:

目前以下 URI 方案将用户重定向到 Android 的主页:

wagal://reset/password?token=123456789

这就是我在HomeStack.js中配置它的方式

const config = {
  screens: {
    ResetPassword: "reset"
  },
};

const linking = {
  prefixes: ["wagal://"],
  config
};

function homeStack() {

  return (
    <NavigationContainer linking={linking} fallback={<Text>Loading...</Text>}>
      <Stack.Navigator>

        <Stack.Screen component={ResetPassword} name="ResetPassword" />

        // ...

      </Stack.Navigator>
    </NavigationContainer>
  );
}

HomeStackApp.js 中被引用:

<Provider store={store}>
  <HomeStack />
</Provider>

如您所见,我正在尝试将此 URI 方案重定向到 ResetPassword 屏幕,但由于某些原因,它总是重定向到 HomeScreen。

它不工作的原因是什么?我关注了documentation,但找不到任何不工作的原因?

提前谢谢你。

【问题讨论】:

  • 作为一个快速解决方案:尝试清理项目并再次运行: cd android && ./gradlew clean && cd .. && npx react-native run-android
  • 您是否也按照此处所述准备了应用程序的AndroidManifest.xmlreactnavigation.org/docs/deep-linking#android
  • 是的,AndroidManifest.xml 已配置。这就是 URI 方案将网页重定向到 App 的原因。

标签: reactjs react-native react-navigation deep-linking


【解决方案1】:

试试这个解决方案,让深层链接准确地知道应用程序中要重定向的位置和参数

const config = {
  screens: {
    ResetPassword: "reset/password/:token"
  },
};

【讨论】:

  • 感谢您的回答。这仍然重定向到主页。我还清理了构建文件。它不起作用。
  • 同样的问题。从过去的五天开始尝试。但没有解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 2023-02-10
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
相关资源
最近更新 更多