Reactjs Typescript onChange未传递事件。动态更新道具的名称

Reactjs Typescript onChange未传递事件。动态更新道具的名称,reactjs,typescript,react-bootstrap,Reactjs,Typescript,React Bootstrap,我正试图得到一个基本的表单来处理typescript。我有下面的表格,把所有的打字都搞定了。我无法获取事件名称以动态设置状态 这是我的密码: import React, { Component, FormEvent } from 'react'; import './App.css'; interface IState { email: string; password: string; } class App extends Component<object, IState&

我正试图得到一个基本的表单来处理typescript。我有下面的表格,把所有的打字都搞定了。我无法获取事件名称以动态设置状态

这是我的密码:

import React, { Component, FormEvent } from 'react';
import './App.css';

interface IState {
  email: string;
  password: string;
}

class App extends Component<object, IState> {
  constructor(props: any) {
    super(props);

    this.state = {
      email: '',
      password: '',
    };
    this.handleChange = this.handleChange.bind(this);
  }

  public render() {
    return (
      <div>
        <input
          id="txtEmail"
          placeholder="Enter Email"
          onChange={this.handleChange}
          value={this.state.email}
        />
        <input placeholder="Password" onChange={this.handleChange} value={this.state.password} />
      </div>
    );
  }
  private handleChange(event: React.FormEvent<HTMLInputElement>) {
    const target = event.target as any;
    console.log(target.name);
    this.setState({ [target.name]: target.value } as IState);
  }
}

export default App;

import React,{Component,FormEvent}来自'React';
导入“/App.css”;
界面状态{
电子邮件:字符串;
密码:字符串;
}
类应用程序扩展组件{
构造器(道具:任何){
超级(道具);
此.state={
电子邮件:“”,
密码:“”,
};
this.handleChange=this.handleChange.bind(this);
}
公共渲染(){
返回(
);
}
私有handleChange(事件:React.FormEvent){
const target=event.target,如有;
console.log(target.name);
this.setState({[target.name]:target.value}作为IState);
}
}
导出默认应用程序;
console.log(event.name)
为空,因此不设置我的状态。我已尝试添加和删除
event.persist()
,并使用
event.target
似乎什么都没有得到名称。这和我打字有关吗


每当我在文本框中键入内容时,
target.value
属性就会正确传递。

将name属性添加到输入中。e、 g

       <input id="txtEmail"
          name="txtEmail"
          placeholder="Enter Email"
          onChange={this.handleChange}
          value={this.state.email}
        />

哇,真不敢相信我错过了。要动态更新我的状态,我必须将其填充为名称字段以匹配我的状态属性。但是非常感谢!