【问题标题】:How does a redux thunk function operate? What happens when a redux thunk function gets called?redux thunk 函数是如何运作的?当一个 redux thunk 函数被调用时会发生什么?
【发布时间】:2020-12-19 15:25:36
【问题描述】:

我很难理解语法/理解 thunk 函数的流程...
即以下函数:

function incrementAsync() {
  return dispatch => {
    setTimeout(() => {
      dispatch(increment());
    }, 1000);
  };
}

我想我主要对 dispatch 作为参数部分的传递感到困惑。调用incrementAsync 时究竟会发生什么?

【问题讨论】:

    标签: javascript reactjs function redux-thunk dispatch


    【解决方案1】:

    一个普通的 Redux action 是一个普通的 JS 对象,如教程所示:https://redux.js.org/basics/actions

    Thunk 所做的就是扩展 Redux,让动作也可以是一个函数。当incrementAsync 被调用时,它会返回一个新函数,该函数接受一个参数dispatch。然后 Redux(通过 Thunk)调用该函数,从 Redux 传入 dispatch() 函数作为参数,使您能够(a)同步调度更多操作。

    这一切都利用了 JS 函数是该语言的一等成员并且可以分配给变量并传递的事实。

    【讨论】:

    • 谢谢!这让它更清楚一点。所以,只是为了确认我的理解是正确的,每次调用incrementAsync 函数时,Redux Thunk 都会调用返回的函数?
    • 是的,没错!该规则可能存在一些例外情况(例如某处发生错误),但通常情况下是这样。
    • 非常感谢!
    猜你喜欢
    • 2021-12-11
    • 2020-03-25
    • 2017-04-30
    • 2017-06-09
    • 2017-11-04
    • 2018-11-24
    • 2017-10-31
    • 2019-07-19
    • 2020-03-06
    相关资源
    最近更新 更多