向Redux Reducer添加回调

向传递给动作的回调添加回调时,是否会出现任何错误/反模式式的错误(就“ react-in-react / redux

”而言)action.data

// reducer

ACTION_FOR_REDUCER() {

var x = 123

if ( action.data.callback ) action.data.callback( x )

return {

something: action.data.somedata

}

},

然后稍后在调用操作时在App中访问该数据(也许在容器中)

// later in the app

this.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

回到顶部