Во-первых, взгляните на этот документ: Официальный документ Redux-Observable , поскольку мы используем новейшую версию Redux-Observable, тогда обзор его документа весьма полезен.
После просмотра документа давайте рассмотрим небольшой пример проекта (приложение Counter):
Это файл root.js
, который содержит мои эпики и редукторы после объединения.
// This is a sample reducers and epics for a Counter app.
import { combineEpics } from 'redux-observable';
import { combineReducers } from 'redux';
import counter, {
setCounterEpic,
incrementEpic,
decrementEpic
} from './reducers/counter';
// bundling Epics
export const rootEpic = combineEpics(
setCounterEpic,
incrementEpic,
decrementEpic
);
// bundling Reducers
export const rootReducer = combineReducers({
counter
});
И это store.js
, где я определяю свой магазин перед его использованием.
import { createStore, applyMiddleware } from 'redux';
import { createEpicMiddleware } from 'redux-observable';
import { rootEpic, rootReducer } from './root';
import { composeWithDevTools } from 'redux-devtools-extension';
const epicMiddleware = createEpicMiddleware();
const middlewares = [
epicMiddleware
]
const store = createStore(
rootReducer,
composeWithDevTools(applyMiddleware(middlewares))
);
epicMiddleware.run(rootEpic);
export default store;
Чтобы успешно реализовать redux-observable
, мы должны выполнить этот порядок:
- Создание epicMiddleware с использованием
createEpicMiddleware()
метода
- Использование метода
applyMiddleware()
для регистрации программы epicMiddleware (redux-devtools-extension
необязательно)
- Вызов
epicMiddleware.run()
с rootEpic
, который мы создали ранее.
Это инструкция из Redux-Observable Document
![enter image description here](https://i.stack.imgur.com/0jNjF.png)
Дополнительную информацию вы можете найти здесь:: Настройка промежуточного программного обеспечения :