0

在使用 typescript 代码库学习 react 16.8 时,我遵循了许多不同的类型定义模式。

所以为了一致性,

这是设置 es6 箭头方法的类型定义的正确方法(推荐或有效),尤其是当对象解构出现时

所以我的第一个问题是定义(或设置,它称为)函数类型的正确方法是什么

  1. 写在函数名之后,之前=
    const method: MethodType = (state:AlphaState , action: AlphaAction) => {
    return data;
}
  1. 在参数列表之后,就在之前=>
    const method  = (state:AlphaState , action: AlphaAction): MethodType => ({

    })


现在我的问题的第二部分是如果我们在参数中使用对象解构,那么它会变得更加复杂。

在哪里写参数类型以及它是否会与参数类型和函数类型签名冲突?

所以这是在对象的情况下

  1. 在每个参数对象的每个属性之前写入 ,
     const appMethod: MethodType = ({state:AppState , action: AppAction}) => ({
     }
  1. 在参数列表之后,解构完成后具有相同类型顺序的单独类型列表,即在第一次关闭之后}
    const appMethod: MethodType = ({state , action}:{AppState, AppAction}) => {}

也欢迎任何其他或推荐的风格来处理这个。

4

1 回答 1

1

保持简短:

  1. MethodTypemethod变量的一种类型。实际上,一个函数类型。

  2. MethodType是箭头函数返回值的一种类型。所以它不能与1相比,它是不同的。

  3. 它是对象解构,与打字稿无关:您将字段解构为AppState局部AppAction变量。

  4. 这是无效的语法

3&4 将被写为

const appMethod: MethodType = ({ state, action }: { state: AppState, action: AppAction }) => ({});
于 2019-10-21T08:59:21.363 回答