реактивная навигация v2 - объекты недопустимы как дочерний элемент React - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь использовать реактивную навигацию v2. Вот так выглядит мой компонент приложения:

import React, { Component } from 'react';
import { createStackNavigator } from 'react-navigation';

import FirstScreen './firstscreen';
import SecondScreen './secondscreen';

const AppNavigator = createStackNavigator(
  {
    FirstScreen: { screen: FirstScreen },
    SecondScreen: { screen: SecondScreen },
  },
  {
    initialRouteName: 'FirstScreen',
    headerMode: 'none'
  }
);

export default class App extends Component {

  render() {
    return (
      <AppNavigator />
    )
  }
}

Выполнение этого приводит к этой ошибке:

Objects are not valid as a React child (found: object with keys {$$typeof, type, key, ref, props, _owner, _store}). If you meant to render a collection of children, use an array instead.

Я нашел несколько примеров, когда StackNavigator используется вот так, может быть, я что-то упустил. В документах это выглядит так же.

Но если я сделаю это, то на самом деле все будет хорошо.

export default AppNavigator;

Я хочу изменить это, потому что я пытаюсь передать магазин MobX.

Кто-нибудь сталкивался с этой проблемой раньше? Заранее спасибо, ребята.


Edit1: То, что я узнал: происходит только на устройствах Android, работает нормально-управляемый run-ios.


решаемые Мы использовали этот Symbol npm пакет для поддержки JS Symbol . Это вызвало ошибку. Удаление этого пакета решило проблему.

1 Ответ

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

если вы забыли импортировать файл, то добавьте его к приведенному выше значению вашей константы, например,

import FirstScreen ./from/your/path/Firstscreen

Но по состоянию на export default AppNavigator; работает нормально, поэтому могут быть какие-то другие изменения, которые вам нужносделать в вашем файле первого экрана.

Проверьте класс экспорта вашего файла первого экрана, как показано ниже.

export default class Firstscreen extends React.Component {}
...