Я пытаюсь создать промежуточное программное обеспечение для прослушивателя с Redux, которое прослушивает отправленные действия thunk.
Цель состоит в том, чтобы при отправке действия промежуточное программное обеспечение делало паузу в процессе и инициировало и другое действие (наблюдатель). я нашел
на первый взгляд хорошая библиотека на NPM, но, похоже, мой наблюдатель не хватает отправленного действия. Когда отправляется первое действие, ничего не происходит, кажется, что слушатель даже не сработал.
Я убедился, что мое промежуточное ПО эффективно введено в магазине.
Вот тезисы моего кода:
Reaction.js:
import { createMiddleware } from 'redux-listeners';
const listenMiddleware = createMiddleware();
listenMiddleware.addListener(POST_WORD_REQUEST, (dispatch) => {
// postFile is the listener action
// provided by mapDispatchToProps in an another file
this.props.postFile(word, base64Data)
})
reduxAction.js:
// postWord is the observed action
export const postWord = {...} => {
dispatch({
type: POST_WORD_REQUEST,
status: request
});
}
middleware.js:
import thunkMiddleware from 'redux-thunk'
import {applyMiddleware} from "redux"
import { createMiddleware } from 'redux-listeners';
const listenMiddleware = createMiddleware();
const middleware = applyMiddleware(
listenMiddleware,
thunkMiddleware
)
export default middleware // then createStore(appReducer, initialState, middleware)