Как я могу поделиться магазином в TabNavigator - PullRequest
0 голосов
/ 13 февраля 2019

Вот код, который я пытаюсь использовать, но в компоненте «Вход в систему» ​​я получаю сообщение об ошибке, что я не поделился хранилищем.Я пытаюсь поделиться хранилищем с tabNavigation, чтобы все дочерние компоненты были в хранилище.

import React from 'react';
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';
import TabNavigator from './TabNavigator';
import { Store } from './Store/Store';
import { Provider } from 'react-redux';


<Provider store={Store}>
    <TabNavigator></TabNavigator>
</Provider>

export default createAppContainer(TabNavigator);

Ошибка:

Инвариантное нарушение: Инвариантное нарушение: Не удалось найти «хранилище» вконтекст «Connect (LogIn)».Либо оберните корневой компонент в a, либо передайте пользовательский поставщик контекста React и соответствующий получатель контекста React в Connect (LogIn) в параметрах соединения.

Исходный код

1 Ответ

0 голосов
/ 14 февраля 2019

Ваш App.js должен экспортировать React.Component, в настоящее время вы экспортируете навигатор.У вас также нет функции рендера.Так что ты ничего не увидишь.Вы должны рефакторинг вашего App.js, чтобы он выглядел больше так.

import React from 'react';
Import { View } from 'react-native';
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';
import TabNavigator from './TabNavigator';
import { Store } from './Store/Store';
import { Provider } from 'react-redux';

const Nav = createAppContainer(TabNavigator);

export default class App extends React.Component {

  render() {
    <Provider store={Store}>
      <View style={{flex:1, backgroundColor:'white'}}>
        <Nav />
      </View>
    </Provider>
  }
}

Вот закуска, в которой используется редекс https://snack.expo.io/@andypandy/redux-with-ducks, что следует из идеи https://github.com/erikras/ducks-modular-redux

...