我定义了React组件的状态接口,如下所示。
path/to/opt -load /path/to/MyLibrary.dylib -Pass3 ...
在文本输入更改事件中,我尝试使用动态键设置状态,如下所示。
CMakeLists.txt
但是VSCode向我显示此错误
interface IState {
email: string,
password: string,
errors: object
}
任何建议都将受到欢迎。
答案 0 :(得分:2)
问题在于,e.target.name
应该是IState
的键,而e.target.value
应该是IState
中键的相对类型,要解决这个问题,您可以手动强制转换< / p>
this.setState({
[e.target.name]: e.target.value
} as Pick<IState, keyof IState>);
但是它禁用此功能的打字稿,您也可以将其转换为任何类型,但这是不安全的。
看起来像this的答案也可能对您有帮助
最好的选择是使用ReduxForm
答案 1 :(得分:0)
我们还可以执行以下操作:
const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
const name = e.target.name as keyof typeof this.state;
this.setState({ ...this.state, [name]: e.target.value });
};