我正在自我介绍,以响应来自js的ts,这是我的代码和onChange:
interface AddTodoState {
text: string;
}
class AddTodo extends Component<AddTodoProps, AddTodoState> {
state = {
text: ''
};
onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const { name, value } = e.target;
this.setState({
[name]: value // error here
});
};我得到的错误是:
属性“text”在类型{ x: string: string;}中缺失。
我是这样编码的,因为我希望onchange可以用于其他状态支持。帮助?
发布于 2019-03-22 03:52:35
在您的接口中,您期望组件的状态只有一个键(名为text)和值string。您需要的是一个具有string类型的任意名称的键和一个也是string的值。这也是错误信息说的。您可以将接口更改为:
interface AddTodoState {
[s: string]: string;
}https://stackoverflow.com/questions/55292608
复制相似问题