动作创作者-您能解释吗?

时间:2018-10-10 17:16:33

标签: reactjs typescript

const createRefDoneAction: (widget: widget[]) => WidgetAction = 
(widgets: widget[]) => ({
    type: actionTypes.REFRESH_WIDGET_DONE,
    widgets,
})

您能否解释一下为什么要传入两个带有参数的方括号(即“ widget:widget []”和“ widgets:widget []”以及两个返回值(例如,“ WidgetAction”和“ {type:... ,小部件,}?

试图弄清楚这段代码到底发生了什么。我以前使用过React,但没有用过打字稿。

非常感谢! :)

1 个答案:

答案 0 :(得分:0)

它描述参数的类型和返回值。看看doc

  1. const createRefDoneAction声明名称的常量
  2. 然后: (widget: widget[]) => WidgetAction将该常量描述为一种函数类型,该函数采用具有widget类型变量的数组的单个参数,并返回类型为WidgetAction的返回值
  3. 然后函数的主体与TypeScript语法无关,但与utilizes ES6 arrow function语法有关:

    = 
    (widgets: widget[]) => ({
        type: actionTypes.REFRESH_WIDGET_DONE,
        widgets,
    })