首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Redux和Redux thunk不同步

Redux和Redux thunk不同步
EN

Stack Overflow用户
提问于 2018-06-01 00:39:25
回答 1查看 3.2K关注 0票数 0

我在使用redux时的假设是,分派操作是一个同步任务。

代码语言:javascript
复制
fire action 1 - > store updated
fire action 2 -> store updated

在我目前正在工作的一个项目中,我有一个产品定制器,它允许一些用户选择,他们可以下多个订单,但如果他们只订购他们当前的选择并选择“购买”,我会触发"addOrder",将他们的选择添加到orders数组中,然后是“购买”操作,这是一个将存储在redux中的订单提交到我的购物车API的操作。

我希望我能够依赖于存储处于一致的状态,在每个操作之后都是可靠的,所以当第二个操作触发时,它将拥有在第一个常规操作之前触发的状态,但没有骰子。

  • 我对redux的期望和理解是否有误?
  • 如果是,redux thunk是否在某种程度上超出了正常派单的范围?

在我的连接组件中,我分派每个操作:

代码语言:javascript
复制
//.... inside component
purchase = () => {
  this.props.addOrder(); // regular action
  this.props.purchase(); // thunk
};
// ... rest of component
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-01 01:56:46

是的,调度始终是100%同步的,除非由中间件更改。是的,默认情况下,您可以在分派后再次调用getState()来获取更新的状态:

代码语言:javascript
复制
function checkStateAfterDispatch() {
    return (dispatch, getState) => {
        const firstState = getState();
        dispatch({type : "FIRST_ACTION"});

        const secondState = getState();

        if(secondState.someField != firstState.someField) {
            dispatch({type : "SECOND_ACTION"});
        }    
    }
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50629037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档