簡體   English   中英

在 function 聲明中獲取 function 參數類型

[英]Get function argument type on function declaration

我正在構建一個自定義 React 掛鈎,它接受一個 object(其中一個屬性是 function)作為參數。

我想獲得該函數的 arguments 的類型定義,我目前可以這樣做:

  const { submitHandler, register } = useForm({
    handleSubmit: data => {
      /*
      Everything is ok:
      (parameter) data: {
          inputs: InputRefs;
          e: React.FormEvent<HTMLFormElement>;
      }
      */
    }
  });

但是,我想通過在useForm參數 object 之外獲取handleSubmit來拆分代碼,如下所示:

  const handleSubmit = data => {
    // Parameter 'data' implicitly has an 'any' type, but a better type may be inferred from usage.
  };

  const { submitHandler, register } = useForm({ handleSubmit });

但是如果我這樣做, data的類型是“任何”...有沒有辦法獲得該函數的 arguments 的類型定義? 或者唯一正確的解決方案真的只是導出/導入類型?

抱歉,如果這不是明確的或已經解釋過,但我剛剛開始學習 typescript 並且我似乎無法找到正確的關鍵字來找到我所問問題的答案......

謝謝

在此處右鍵單擊handleSubmit

const { submitHandler, register } = useForm({
    handleSubmit: data => {
      /*
      Everything is ok:
      (parameter) data: {
          inputs: InputRefs;
          e: React.FormEvent<HTMLFormElement>;
      }
      */
    }
  });

並選擇“轉到定義”。 這將為您提供您需要在此處指定的類型:

const handleSubmit: ${Type} = data => {
    // Parameter 'data' implicitly has an 'any' type, but a better type may be inferred from usage.
  };

  const { submitHandler, register } = useForm({ handleSubmit });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM