Не удалось найти «store» в контексте «Connect» - PullRequest
0 голосов
/ 22 мая 2019

У меня есть приложение, которое импортирует созданную мной библиотеку js-common.Эта библиотека экспортирует несколько компонентов.Когда я пытаюсь импортировать один из них в мое приложение, я получаю:

"Не удалось найти" store "в контексте" Connect (ListComponent) ". Либо оберните корневой компонент в, либо передайте пользовательскийРеагировать на поставщика контекста и соответствующего потребителя контекста React на Connect (ListComponent) в параметрах соединения. "

Если я переместлю этот компонент (файл) в мое приложение, оно будет работать.Так что проблема в том, когда я экспортирую из библиотеки.В моей библиотеке я использую babel для преобразования каждого файла.

ОБНОВЛЕНО

РАБОТА

import ListComponent from "./ListComponent";

class App extends Component {
  render() {
    return (
      </ListComponent>
    )
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(App);

НЕ РАБОТАЕТ

import ListComponent from "js-common";

class App extends Component {
  render() {
    return (
      </ListComponent>
    )
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(App);

1 Ответ

0 голосов
/ 22 мая 2019

Проблема, насколько я понимаю, состоит в том, что вы использовали response-redux для управления состоянием, которое требует от вас обернуть свой корневой компонент компонентом Provider, поставляемым с response-redux.Он работает в вашем приложении, потому что вы, вероятно, предоставили хранилище в этом приложении, но когда вы экспортируете его, у вас нет магазина в каком бы месте вы его не импортировали.

Если вы пытаетесь написать библиотекучтобы быть экспортированным, вам было бы лучше не использовать приставку ... Или, по крайней мере, вам нужно предоставить провайдера для компонента верхнего уровня, который вы намереваетесь отправить.Provider используется следующим образом.

    <Provider store={store}>
        <Component />
    </Provider>

, где store - это резервное хранилище, которое вы используете

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