Я пытаюсь использовать избыточный магазин за пределами реактивных компонентов. Я хочу получить доступ к файлу store
внутри api.js
, чтобы можно было отправлять заголовки авторизации в вызовах API
У меня есть файл store.js
с содержанием ниже
import rootSaga from "./rootSagas";
import rootReducer from "./rootReducer";
import createSagaMiddleware from "redux-saga";
import { applyMiddleware, compose, createStore } from "redux";
import Storage from "@callstack/async-storage";
import { persistStore, persistReducer } from "redux-persist";
const persistConfig = {
key: "app",
storage: Storage,
whitelist: ["user"]
};
const persistedReducer = persistReducer(persistConfig, rootReducer);
/** Saga Middleware */
const sagaMiddleware = createSagaMiddleware();
/** Create middlewares for redux */
let middlewares = applyMiddleware(sagaMiddleware);
/** Create redux store */
const store = createStore(persistedReducer, compose(middlewares));
/** run saga watchers */
sagaMiddleware.run(rootSaga);
export const persistor = persistStore(store);
export default store;
Когда этот магазин был импортирован в App.js
, приложение работает нормально. Но когда я попытался импортировать то же самое в api.js
, он жалуется на приведенную ниже ошибку
index.js:1 No reducer provided for key "onBoarding"
Может ли кто-нибудь помочь мне решить приведенную ниже ошибку, которую я получаю
![enter image description here](https://i.stack.imgur.com/WGf7F.png)
index.js:1 No reducer provided for key "onBoarding"
TypeError: Cannot read property 'watchUser' of undefined
Пример хранилища с воспроизводимым сценарием можно найти здесь .
Шаги для запуска этого приложения
- Клонировать репозиторий.
- Оформить заказ на redux ответвление.
- Запустить
yarn install
в терминале. - Запустите
yarn workspace web start
для запуска веб-приложения.