开发环境:react antd
我自己写了一个新组件<ModelItem/>把它放在modelSetting里面
然后我是这样写的
然后key的值怎么都获取不到。但是getModelDataAgain的值可以获取到。
后来把key改成key22就能获取到key22的值了。
请问这是为什么,就算key是默认字段,我不能覆盖掉它吗?明明传入了key,却获取不到,显示undefined。
开发环境:react antd
我自己写了一个新组件<ModelItem/>把它放在modelSetting里面
然后我是这样写的
然后key的值怎么都获取不到。但是getModelDataAgain的值可以获取到。
后来把key改成key22就能获取到key22的值了。
请问这是为什么,就算key是默认字段,我不能覆盖掉它吗?明明传入了key,却获取不到,显示undefined。
从 React
框架的设计上就是如此的,你不能覆盖这个属性。key
是为 react
进行 DOM
节点比较而设置的属性,并不是给使用 react
框架的用户传参设置的。
Github
react
issue
有个类似的问题的讨论,感兴趣可以看一下。
4 回答1.6k 阅读
2 回答1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答944 阅读✓ 已解决
1 回答674 阅读✓ 已解决
2 回答835 阅读✓ 已解决
2 回答996 阅读
react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key props),而是给react自己用的。可以参考https://segmentfault.com/a/11...