react教程,循环输出组件修改只读key的三种方案最佳实践
发布于 作者:苏南大叔 来源:程序如此灵动~

本文中讲一个循环输出子组件过程中,试图修改read only
的key
的问题的解决方案。事先说明的是:对于组件循环输出来说,本文的方案并不是个好的解决方案。只是对于修改read only
的key
的问题,是个比较好的解决范例。

苏南大叔的程序如此灵动技术博客,记录苏南大叔的代码感悟感想。测试环境:win10
,node@16.14.2
,react@18.2.0
,create-react-app@5.0.1
。对于react
循环输出子组件这件事情来说,本文的哪个方案都不是好的方案,请不要照搬。
前文回顾
在下面的文章的方案四中,苏南大叔提出了一个问题:
如何给被循环的子组件增加一个key
,否则react
在生产模式下,会一直有警告信息输出。但是,如果不解决这个问题的话,其实在成品模式下,也并没有相关的警告输出了,而且代码会正常被执行。所以忽略警告信息,也是没有任何问题的。
测试代码:

无效的解决方案
通过输出子组件value
,可以知道有个key
可以修改,就是本文的目标问题的解决方案关键点。

然而,这个key
是只读的。

解决方案就是,制造一个不是只读key
的新对象来做一下替换。
方案一:三个点
方案二:object.assign 浅拷贝
方案三:extend 深拷贝
结束语
既然本文主体是以react
呈现的,那么就以react
结尾吧。欢迎大家点击下面的react
系列经验文章链接:


