【问题标题】:Can you create a react redux store interceptor to watch a property?你可以创建一个 react redux store 拦截器来监视一个属性吗?
【发布时间】:2020-09-15 06:22:16
【问题描述】:

假设我在商店中有一个名为state.items.byId 的属性,每次更新时(应用程序的各个部分)我想在更新之前拦截该值并运行一个函数来更新它之前的一些属性它已更新。

我不知道术语,而且我对 redux 还很陌生,但如果有人能指出我正确的方向,那就太好了!

我已经搜索并找到了redux-watch,但我不能 100% 确定这是否是正确的方法

【问题讨论】:

  • 使用 Redux 时,状态是不可变的。这意味着它总是通过一个动作在减速器中进行修改。我假设您仅像 redux 那样以单向方式设置状态。是的,redux-watch 是用来观察属性变化的。每当您的财产发生变化时,您都会收到通知。例如:npmjs.com/package/redux-watch。如果您需要更多解释,请告诉我。

标签: reactjs redux state store


【解决方案1】:

下面显示了 redux 应用程序中的数据流。视图调度一个动作,该动作 object 是一个蓝图,告诉 reducer 它需要对存储状态进行哪些更改。任何 redux store 状态的变化需要经过这个循环。

redux-watch 为您提供了一个基于订阅的机制,通知您一个属性是 改变了。如果你想在改变之前拦截一个属性,你可以编写一个自定义 中间件并处理其中的任何副作用。

【讨论】:

    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 2018-11-27
    • 2016-12-21
    • 2018-09-19
    • 2021-08-23
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    相关资源
    最近更新 更多