代码之家  ›  专栏  ›  技术社区  ›  me.at.coding

如何读取带有多个箭头和泛型的TypeScript签名?

  •  -2
  • me.at.coding  · 技术社区  · 4 年前

    我正在试着理解这个打字签名 react-hook-forms :

    handleSubmit: <TSubmitFieldValues extends FieldValues = TFieldValues>(onValid: SubmitHandler<TSubmitFieldValues>, onInvalid?: SubmitErrorHandler<TFieldValues>) => (e?: React.BaseSyntheticEvent) => Promise<void>;
    

    1. 泛型类型中的等号是什么意思?

      <TSubmitFieldValues extends FieldValues = TFieldValues>

    2. 签名中怎么会有两个箭头?

      [removed for shortening] => (e?: React.BaseSyntheticEvent) => Promise<void>

    如果有人能一步一步地解释签名就好了,谢谢!

    0 回复  |  直到 4 年前
        1
  •  2
  •   Evert    4 年前

    泛型类型中的等号是什么意思?

    签名中怎么会有两个箭头?

    const myWeirdAdd = arg1 => arg2 => arg1+arg2;
    

    我们可以这样称呼:

    myWeirdAdd(1)(2); // returns 3;
    

    type CurriedAdd = (arg1: number) => (arg2: number) => number;