用于处理react中的onsubmit和onchange的打字稿

时间:2019-12-26 20:11:46

标签: javascript reactjs typescript forms

我正在尝试使用打字稿并做出正确的反应。现在,我很难使用打字稿来处理onChangeonSubmit事件。我不知道要使用什么注释和类型。我发现在我的SignUpForm组件中,使用any类型将删除错误,但是我不认为这是最佳实践。

DefinitelyTyped source code中,我应该使用ChangeEventHandler<T>来处理<input> onchange,但是我不知道要使用什么Type(T),因为Visual Studio Code说我无法使用.currentTarget.target检索我想要的值。

对于我的handleSubmit方法,I think I am supposed to use FormEventHandler,但是再次,我不知道要传入哪种类型。我的文本编辑器还告诉我,我无法访问{{1} }

enter image description here

SignUpPage.tsx

.preventDefault()

SignUpForm.tsx

import React, { FormEventHandler, InputHTMLAttributes, EventHandler } from 'react';
import SignUpForm from './SignUpForm';

interface IProps {}    
interface IState {}

class SignUpPage extends React.Component<IProps, IState> {
  constructor(props: IProps) {
    super(props);
    this.state = {
      email: "",
    }
  }

  handleSubmit = (event: FormEventHandler<>): void =>  {
    event.preventDefault();
  }

  handleChange = (event: React.ChangeEventHandler<HTMLInputElement>): void => {
    const { value, name} = event.;
    this.setState({ [name]: value })
  }

  render() {
    return(
      <SignUpForm
        handleSubmit={ this.handleSubmit }
        handleChange={ this.handleChange }
      />
    );
  }
}


export default SignUpPage;

0 个答案:

没有答案