首页 > 解决方案 > Action Creator - 你能解释一下吗?

问题描述

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

你能解释一下为什么有2个带参数的括号传入(即'widget:widget[]'和'widgets:widget[]'和2个返回值(即'WidgetAction'和'{type:...,widgets, }?

试图了解这段代码“究竟”发生了什么。我以前使用过 React,但没有使用 typescript。

非常感谢!:)

标签: reactjstypescript

解决方案


它描述了参数和返回值的类型。看看文档

  1. const createRefDoneAction声明一个名字的常量
  2. 然后: (widget: widget[]) => WidgetAction将此常量描述为一种函数类型,该函数接受具有类型变量的数组的单个参数widget并返回具有类型的值WidgetAction
  3. 然后函数的主体来了,它与 TypeScript 语法无关,但使用 ES6 箭头函数语法:

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

推荐阅读