如何利用React State访问对象的指定键对应值?
正确实现方式
你需要用方括号语法来动态访问对象属性,正确的写法是:
const pieceOfData = data[filter]
为什么其他写法不行?
data.filter:这是在访问data对象里名为filter的属性,但你的data里根本没有这个键,自然拿不到想要的值,返回的是undefined。data.[filter]:语法错误,方括号前面不能加.,这属于无效的JS语法,直接会抛出错误。data(filter):你把data当成函数调用了,但data明明是个对象,所以会报错data is not a function。
简单说,JS里访问对象属性有两种方式:
- 点语法:只能用固定的属性名(比如
data.description),适合属性名明确的情况。 - 方括号语法:可以用变量来动态指定属性名,刚好匹配你用state存储键名的场景。
内容的提问来源于stack exchange,提问作者saintyusuf
相关产品推荐
相关产品推荐

