Требуется контекст `getStore`

Я встречаю небольшую ошибку с Fluxible@0.4.10:

Warning: Failed Context Types: Required context `getStore` was not specified in `StoreConnector`. Check the render method of `NavIndexItemTheme`. /client-interface/node_modules/fluxible/addons/connectToStores.js:48 storeInstances[storeName] = this.context.getStore(store); ^ TypeError: undefined is not a function

На самом деле, у меня есть это:

components
          |_NavIndexItemTheme.jsx
...
templates
         |_tp1
              |_node_modules
              |             |_react
              |_Index.tpl.jsx

В Index.tpl.jsx:

import React from "react";
import NavIndexItemTheme from "../../components/NavIndexItemTheme";

export default function(props) {
    return (
       <div className="index">
         <div className="wrapper flex fdc fas">
            <h1>Hello</h1>
            <NavIndexItemTheme />
          </div>
        </div>
    );
 }

Если я удалю папку node_modules в каталог tp1, ошибки не будет. Почему этот каталог вызывает ошибку!!!

1 ответ

Решение

Вы не должны держать несколько node_modules папки внутри одного проекта, это вносит двусмысленность в разрешение вашей зависимости, что приводит к путанице. Похоже, что ваши модули Fluxible имеют разные версии, чем те, которые используются в корне проекта и NavIndexItemTheme,

  1. Используйте хотя бы Fluxible 0.4.11, где был добавлен context.getStore.
  2. Удалить templates/tp1/node_modules
  3. Убедитесь, что ваш компонент высшего порядка (обычно Application) завернутый в provideContext() функция от fluxible/addons/,
Другие вопросы по тегам