Нарушение инварианта: для этого навигатора отсутствует навигационная опора. В реакции-навигации 3 - PullRequest
0 голосов
/ 19 ноября 2018

Я новичок, чтобы реагировать на нативные, и я пытаюсь создать приложение с навигацией по стеку. Это то, что у меня есть в моем App.js

import React from "react";
import { View, Text } from "react-native";
// Import React Navigation
import { createStackNavigator, createAppContainer } from 'react-navigation'

// Import the screens
import Main from './components/Main';
import Chat from './components/Chat';



// Create the navigator
const navigator = createStackNavigator({
  Main: { screen: Main },
  Chat: { screen: Chat },
});
const App = createAppContainer(navigator)


export default navigator

Это также ошибка, которую я получаю

Invariant Violation: The navigation prop is missing for this navigator. In react-navigation 3 you must set up your app container directly. More info: https://reactnavigation.org/docs/en/app-containers.html

This error is located at:
    in Navigator (at createKeyboardAwareNavigator.js:12)
    in KeyboardAwareNavigator (at registerRootComponent.js:17)
    in RootErrorBoundary (at registerRootComponent.js:16)
    in ExpoRootComponent (at renderApplication.js:34)
    in RCTView (at View.js:44)
    in RCTView (at View.js:44)
    in AppContainer (at renderApplication.js:33)
- node_modules/@react-navigation/core/src/navigators/createNavigator.js:19:8 in getDerivedStateFromProps
- node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js:7663:46 in applyDerivedStateFromProps
- ... 20 more stack frames from framework internals

Я явно что-то делаю не так, помогите

Ответы [ 2 ]

0 голосов
/ 09 августа 2019

Выполните следующие шаги:

  1. Проверьте вашу версию реакции-навигации в файле package.json, если она самая последняя или такая же, когда вы создавали проект изначально.
  2. ЕслиВы удалили более старую и использовали команду npm, после чего была установлена ​​самая последняя версия реактивной версии. Возможно, она не может найти файл в библиотеке.
  3. Наконец удалите нод-модули и проверьте ваш старый проект иэто версия реакции-навигации и сделайте то же самое в текущем проекте в package.json
  4. Запустите команду npm install

Запустите проект сейчас.

0 голосов
/ 19 ноября 2018

В официальной документации из Реагировать с навигацией

Примечание. В версии 2 и более ранних версиях контейнеры в React Navigation автоматически предоставляются функциями create * Navigator. Начиная с версии 3, вы должны использовать контейнер напрямую. В версии 3 мы также переименовали createNavigationContainer в createAppContainer.

Это означает, что теперь вы должны явно использовать Контейнер, что вы сделали в своем коде.

Но вы все еще используете (экспортируете) navigator, а не App.

Итак, измените свою последнюю строку на

export default App

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...