Нарушение инварианта только с некоторыми навигаторами (React-Navigation) - PullRequest
0 голосов
/ 23 мая 2018

При попытке реализовать навигаторы из React-Navigation я сталкиваюсь с некоторыми странными действиями.

При испытании простого "привет мира" из https://reactnavigation.org/docs/en/hello-react-navigation.html...

import React from 'react';
import { View, Text } from 'react-native';
import { createStackNavigator } from 'react-navigation';

class HomeScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
        <Text>Home Screen</Text>
      </View>
    );
  }
}

export default createStackNavigator({
  Home: {
    screen: HomeScreen,
  },
});

я получаю эту ошибку:

Инвариантное нарушение: Тип элемента недопустим:ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: объект.Проверьте метод рендеринга 'SceneView'.

Странная часть заключается в том, что при использовании StackNavigator (и TabNavigator) выдает мне Инвариантное Нарушение, а использование DrawerNavigator - нет!

Это общее исправление (удаление скобок при импорте) выдает новую ошибку :

Объект не является функцией

И общимИсправление «Объект не является функцией» возвращает меня к тому, с чего я начал (добавляя фигурные скобки в импорт).

Я новичок в React-Native и не уверен, как глубже погрузиться в этопроблема, любая помощь приветствуется!

----- Редактировать -----

Я понизил мою версию реакции-навигации до v1.5.5и оригинальный компонент StackNavigator работает, так что, возможно, это проблема совместимости с v2.0.1 и моей средой.

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Проверьте файл package.json, если у вас есть правильная версия react для вашего react-native.Например,

"react": "16.4.0",
"react-native": "^0.53",
"react-navigation": "^2.0.4",

у меня не работает, но

"react": "16.2.0",
"react-native": "^0.53",
"react-navigation": "^2.0.4",

работает.

0 голосов
/ 23 мая 2018

Я мог бы найти вашу проблему.Я думаю, что вы пытаетесь следовать документации для неправильной версии.Я предполагаю, что вы используете V1 React-Navigation.

Вы можете просмотреть свою текущую установленную версию, запустив "реагирующую навигацию по списку пряжи" в своем терминале в корневом каталоге проекта.

Документы V1: https://v1.reactnavigation.org/docs/hello-react-navigation.html

Если я использую пример по ссылке выше, все работает нормально.Возможно, вы могли бы попробовать это?

Марк

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