javascript - redux 中间件 -> 拦截/阻止/转换?

标签 javascript redux react-redux redux-middleware

我们正在运行 SPA。分派(dispatch)的操作(不是组件)是基于身份验证的。

是否可以拦截和转换派发的 Action ?

dispatch({
    type: 'FOO',
    payload: { some: value }
})

function magicMiddleware(action) => decide if authorized. 
if no...

dispatch({
    type: 'BAR',
    payload: { new: value }
})

else continue

请注意,'FOO' 永远不应该命中 reducer

最佳答案

是的,这绝对是中间件的预期用例之一。任何中间件都可以在到达 reducers 之前检查和修改通过管道的任何操作,甚至可以阻止操作继续进行。

您可能需要通读 Middleware Redux 文档中的页面,以及 Redux Middleware 中的文章我的类别 React/Redux links list .这些应该能让您更好地了解中间件的工作原理以及如何使用它们。

关于javascript - redux 中间件 -> 拦截/阻止/转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42869767/

相关文章:

javascript - 在没有 TypeScript 的情况下使用 MobX 装饰器设置 ReactJS?

c# - .net core api为每个请求返回客户端index.html文件

reactjs - 具有多个参数的 redux 工具包 reducer ? redux 工具包

reactjs - 无法通过 ref 访问子函数?

javascript - 使用不透明度值设置在滚动时淡入和淡出

javascript - EmberJS/Ember-data : hasMany collection incomplete, 尽管所有 ID 都存在

javascript - Selenium 无法在浏览器 DOM 中定位元素

javascript - 使用 typescript 强类型化 react-redux connect

reactjs - 在 redux 状态的语言环境更新后重新渲染 React 组件

javascript - 事件和 Action 是否有 1 :1 relationship in Redux?