0

我写了一个中间件,就像一击:

const testMiddleware = ({ dispatch, getState }) => next => action => {
    console.log('test middleware')
};

export default testMiddleware;

并将其添加到我的商店:applyMiddleware(testMiddleware)在任何时候,我都会test middleware进入我的控制台。

我写了一个简单的动作,像这样:

export const sayHi = () => {
    return dispatch => {
        console.log('hi');
    }
}

如何sayHi在我的中间件中调度操作?

4

1 回答 1

2

中间件将 store 的 getState() 和 dispatch() 函数作为第一个参数,因此您可以执行以下操作(在导入所需的操作之后):

const middleware = ({dispatch, getState }) =>{
    return next => action => {
        dispatch(someAction);
        // return data;
        return next(action);
  }
}

因此,中间件签名是 ({ getState, dispatch }) => next => action。

https://redux.js.org/api/applymiddleware

于 2019-03-20T18:24:22.547 回答