javascript - 如何在 redux 中间件中调度一个 Action ?

标签 javascript reactjs redux redux-middleware

我写了一个中间件,如下所示:

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

export default testMiddleware;

并将其添加到我的商店:applyMiddleware(testMiddleware) 在任何操作中,我都会在控制台中得到test middleware

我写了一个简单的 Action ,如下所示:

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

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

最佳答案

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

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

So, the middleware signature is ({ getState, dispatch }) => next => action.

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

关于javascript - 如何在 redux 中间件中调度一个 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55265461/

相关文章:

javascript - React/Redux 应用程序中组件的权限检查

reactjs - Redux 应用程序中每个 reducer 调用的深度复制状态有什么缺点?

javascript - 用javascript在另一个div之后附加一个div

javascript - 如何在不全局修改 fs 的情况下执行 Promise.promisfyAll(fs) (编写库时)?

javascript - usmaps.js 事件绑定(bind)

javascript - 创建一个 React 组件

javascript - 将变量传递到自定义按钮

reactjs - react-testing-library - 使用 useContext Hook 的测试组件 - 上下文在测试之间持续存在

java - 跟踪 window.open() 方法打开的窗口上的用户 Activity

javascript - 使用 React Redux 从字符串值调用变量