redux thunk函数如何运行?调用redux thunk函数会发生什么?

问题描述

我正在竭尽全力地理解语法/了解thunk函数的流程...
即以下函数

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

我想我对传入dispatch作为参数的一部分感到困惑。调用incrementAsync时会发生什么?

解决方法

正常的Redux动作是纯JS对象,如本教程中所示:https://redux.js.org/basics/actions

Thunk所做的是扩展Redux,以便动作也可以是一个函数。调用from django.shortcuts import redirects # In your LinkView override get method class LinkView(TemplateView): def get(self,request,*args,**kwargs) return redirect('some/url') 时,它将返回一个带有参数incrementAsync的新函数。然后,该函数由Redux(通过Thunk)调用,从Redux传入dispatch函数作为参数,使您可以同步(a)调度更多操作。

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