【问题标题】:How to navigate on specific screen from route directory in react native?react-native 如何从路由目录在特定屏幕上导航?
【发布时间】:2019-08-21 12:52:36
【问题描述】:

我正在使用 react-navigation 库中的 react switch navigator。我创建了一个单独的文件 router.js 并调用了我的 App.js。现在我正在使用 react-native-firebase 并且我需要从 app.js 导航到特定屏幕。如果有人有想法,请告诉我这是我的代码:

App.js:

import Router from "./src/Router";
class App extends Component<Props> {
render() {
    return (
      <Router />
    );
  }
}

export default App;

Router.js

const AppSwitchNavigator = createSwitchNavigator({
    InitialScreen: {
        screen: InitialScreen
    },
    Login: {
        screen: Login
    },
    Forgot: {
        screen: Forgot
    },
    SuccessMessage: {
        screen: SuccessMessage
    },
    App: AppStackDelivery,
    AppR: AppStackRecipient,
}, {
  initialRouteName: 'InitialScreen'
});

const Router = createAppContainer(AppSwitchNavigator);

export default Router;

从推送通知中,我收到了 ID,我需要导航到详细信息屏幕,但我的路由器或初始屏幕没有收到任何信息,请任何有想法的人分享。

【问题讨论】:

    标签: react-native routes react-navigation


    【解决方案1】:

    您应该使用Deep link。并在onNotification中找到你想要的路径。

    示例

    handleNotification () {
        const  path  = "chat/Eric";
        const prefix = Platform.OS === 'android' 
                         ? 'myapp://myapp/'
                         : 'myapp://'
        const url = `${prefix}${path}`;
    
            Linking.openURL(url).catch(err => console.error(err));
            firebase.messaging().setBadgeNumber(0);
      }
    

    【讨论】:

    • 我在这里使用了全局变量,而不是做这个棘手的方法。
    • 您打算如何移动到全局变量?
    • 我更新了我的全局变量,它可以从应用程序的任何地方访问。
    • 还有一件事我如何在上面的路由器中使用抽屉导航器你知道吗?我完全被困在这里了。
    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多