我有一个约有50个组件的非常大的表单,我想调用一个reducer,只要对表单进行了任何更改(即,每当触发一个动作时),就将一个标志设置为true。
我想要的是该标志说hasFormChanged
,最初是false。每当调用单个操作来更改表单时,它都会检查此标志并将其设置为true(如果还不是真的)。就像动作拦截器一样。
我不确定该如何组织。我真的不想将标志设置减少器传递给我的所有组件。将会有很多重复的代码
答案 0 :(得分:1)
您正在寻找的是custom redux middleware。
这是中间件的示例(来自上面的链接):
const logger = store => next => action => {
console.group(action.type)
console.info('dispatching', action)
let result = next(action)
console.log('next state', store.getState())
console.groupEnd()
return result
}
您可以通过操作调用store.dispatch()
来设置所需的标志。