You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中两种key属性传值的区别、错误方式及JSX解析器逻辑问询

关于React中两种key prop写法的区别解析

两种写法的核心区别

  • <Component key={1} />:大括号包裹的是JSX表达式,这里直接传递的是数字类型的1。
  • <Component key=1 />:无大括号的写法属于字符串字面量,React会自动把1解析成字符串类型的"1"。

传递数字类型prop的错误方式

第二种写法<Component key=1 />是错误的——如果你的组件期望接收数字类型的prop(哪怕是key之外的自定义prop),这种写法实际传递的是字符串,完全不符合类型预期。

第一种写法的JSX解析逻辑

当使用{}包裹prop值时,JSX解析器会先执行括号内的JavaScript表达式,算出结果后再把这个结果作为prop传递给组件。就像这里的{1},解析器直接求值为数字1,不会做额外的类型转换,原封不动把数字值传进去。如果括号里是变量、运算式甚至函数调用,也会先执行得到结果,再传递最终值。

内容的提问来源于stack exchange,提问作者Hakob Sargsyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:57:32