Простой пример навигации по Expo / React 5 - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь найти простой пример, используя Deep Linking с Expo и React Navigation 5. Команда do c мне в этом не помогает.

(1) Когда я go exp: //192.168.2.130: 19000 -> Это уже открывает мое приложение. Хорошо

(2) Теперь я хочу добавить маршрут / News, чтобы при открытии exp: //192.168.2.130: 19000 / News я отображал экран новостей (см. Код ниже).

Как это сделать на примере ниже?


import { Linking } from 'expo';

const prefix = Linking.makeUrl('/');

export default function App() {

  const linking = {
    prefixes: [prefix]
  }

  return (
    <NavigationContainer linking={linking} fallback={<Text>Loading...</Text>}>
      <Tab.Navigator>
        <Tab.Screen name="EventExplore" component={EventExploreStack} />
        <Tab.Screen name="MyTasks" component={MyTasksScreen} />
        <Tab.Screen name="News" component={NewsScreen} />
      </Tab.Navigator>
    </NavigationContainer>
  );
}

1 Ответ

0 голосов
/ 05 июня 2020

Вы можете сопоставить имена экранов с желаемым путем. Например, повторное использование фрагмента кода.

    import { Linking } from 'expo';

    const prefix = Linking.makeUrl('/');

    export default function App() {

      const linking = {
        prefixes: [prefix],
        config: {
          News: "/News"
        }
      }

      return (
        <NavigationContainer linking={linking} fallback={<Text>Loading...</Text>}>
          <Tab.Navigator>
            <Tab.Screen name="EventExplore" component={EventExploreStack} />
            <Tab.Screen name="MyTasks" component={MyTasksScreen} />
            <Tab.Screen name="News" component={NewsScreen} />
          </Tab.Navigator>
        </NavigationContainer>
      );
    }

Более подробная информация содержится в документации по реакции-навигации здесь: https://reactnavigation.org/docs/configuring-links

...