除了打字稿中的任何类型之外,我可以将什么类型用于 ReactBootstrap 表单的提交事件。我可以用什么来代替参数类型中的 **any**

问题描述 投票:0回答:2

我正在提交带有验证的 React-Bootstrap 表单。我的代码在使用时工作正常

  const submitHandler = (e: any) => {
    e.preventDefault();
    const form = e.currentTarget!;
    if (form.checkValidity() === false) {
      e.stopPropagation();
    }
    setValidated(true);
    email &&
      !checkMailSuccess &&
      dispatch(checkMailActions.checkMailStart(email.trim()));
    if (
      validated === true &&
      form.checkValidity() === true &&
      isExist === false
    ) {
      dispatch(
        credentialsActions.saveStart({
          name: name.trim(),
          dob: dob.trim(),
          fatherName: fatherName.trim(),
          address: address.trim(),
          docType: docType.trim(),
          docNum: docNum.trim(),
          email: email.trim(),
          image: image.trim(),
        })
      );
      navigate('/step2');
    }
  };

但我想要适当类型的活动e任何人都可以帮忙吗?

reactjs typescript typescript-typings react-bootstrap
2个回答
0
投票

这将只是一个

Form Event
。如果您使用任何编辑器,您将可以访问
React.FormEvent<HTMLFormElement>
类型。 如果你像这样输入,即使这样也应该有效:

const submitHandler = (e: React.SyntheticEvent) => {

或者您可以选择将类型添加到事件处理程序本身,其余的将被处理。

const submitHandler : React.FormEventHandler<HTMLFormElement> = (e) => {
....

链接

提示: 如果您有一个不错的编辑器,只需将鼠标悬停在内容上即可获得提示。


0
投票

根据此页面,如果您内联回调函数,则键入可以工作

https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/forms_and_events/

这在我的测试中似乎确实有效。将鼠标悬停在 VS 代码中回调函数的事件参数上我得到类型

React.FormEvent<HTMLFormElement>

这似乎确实有效

© www.soinside.com 2019 - 2024. All rights reserved.