gpt4 book ai didi

reactjs - 向 ReduxReducer 添加回调

转载 作者:行者123 更新时间:2023-12-03 13:40:08 24 4
gpt4 key购买 nike

action.data 添加回调是否有任何错误/反模式(就“thinking-in-react/redux”而言)?传递到一个 Action ?

// reducer
ACTION_FOR_REDUCER() {
var x = 123
if ( action.data.callback ) action.data.callback( x )
return {
something: action.data.somedata
}
},

然后在调用操作时(可能在容器中)稍后在应用程序中访问该数据

// later in the app
this.props.dispatch(changeSomething({
somedata: somedata,
callback: (x) => { console.log(x) }
}))

最佳答案

想法没有错,错的是实现。

不要添加回调,而是从操作中返回一个 promise (您将需要 redux-thunk 中间件或一些类似的替代方案)。

然后你可以简单地这样做:

dispatch(myAction).then(callback);

当然,您也可以简单地在回调中分派(dispatch)另一个操作,该操作通常最终成为一个复合操作。

const myAction = ...
const callbackAction = ...

const compoundAction = () => dispatch => {
dispatch(myAction())
.then(() => dispatch(callbackAction()));
};

关于reactjs - 向 ReduxReducer 添加回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44325372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com