Требуется контекст `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
,
- Используйте хотя бы Fluxible 0.4.11, где был добавлен context.getStore.
- Удалить
templates/tp1/node_modules
- Убедитесь, что ваш компонент высшего порядка (обычно
Application
) завернутый вprovideContext()
функция отfluxible/addons/
,