我正在学习打字稿,在访问字符串状态的键时遇到问题。错误是状态没有索引签名(这些行中的内容)。我修复了它,将其添加到接口Interface [key:string]:string;这解决了问题,但是我所有的布尔值和其他类型的状态都被破坏了,因为它们不是字符串。
这是没有索引签名错误的初始代码。
array.forEach(element => {
this.state[element.id] = element.value;
})
我读到这样的访问状态不是一个好习惯,但是不明白为什么。我想不出另一种方法来遍历数组并为状态分配从数组中提取的不同值。我想知道我可以通过哪种其他方式来进行此操作,以及为什么访问状态并分配这样的值不是一个好习惯?谢谢!