【发布时间】:2018-03-03 20:48:43
【问题描述】:
在这个 react 应用程序中有一个带有几个输入字段的表单。这些字段都使用带有onChange 属性的this.handleChange。
private handleChange = (event: React.FormEvent<HTMLInputElement>) => {
let target = event.target as HTMLInputElement;
this.setState({
[target.name]: target.value
});
};
我得到的打字稿错误是:
ERROR in [at-loader] ./src/components/FormSubmitHighScore.tsx:43:23
TS2345: Argument of type '{ [x: string]: string; }' is not assignable to parameter of type 'Pick<State, "first_name" | "last_name" | "email_address" | "school_name" | "region" | "submitted">'.
Property 'first_name' is missing in type '{ [x: string]: string; }'.
因此,通过动态设置状态名称字段(基于正在使用的输入)这个 Typescript 错误被触发(但它确实在浏览器中工作)。
如何在这种情况下指定正确的类型?
【问题讨论】:
标签: javascript reactjs typescript