向Redux Reducer添加回调
向传递给动作的回调添加回调时,是否会出现任何错误/反模式式的错误(就“ react-in-react / redux
”而言)action.data
?
// reducerACTION_FOR_REDUCER() {
var x = 123
if ( action.data.callback ) action.data.callback( x )
return {
something: action.data.somedata
}
},
然后稍后在调用操作时在App中访问该数据(也许在容器中)
// later in the appthis.props.dispatch(changeSomething({
somedata: somedata,
callback: (x) => { console.log(x) }
}))
回答:
这个想法没有错,实现是正确的。
而不是添加回调,而是从操作中返回一个Promise(您将需要使用redux-thunk中间件或类似的替代方法)。
然后,您可以简单地执行以下操作:
dispatch(myAction).then(callback);
当然,您也可以在回调中简单地调度另一个动作,通常最终是一个复合动作。
const myAction = ...const callbackAction = ...
const compoundAction = () => dispatch => {
dispatch(myAction())
.then(() => dispatch(callbackAction()));
};
以上是 向Redux Reducer添加回调 的全部内容, 来源链接: utcz.com/qa/424257.html