Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
259 views
in Technique[技术] by (71.8m points)

react 为什么不自动生成 key?

除了在前端生成唯一key所造成的消耗外,是否有其他影响?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

key 值可以看作 React 留给开发者介入 diff 流程的一个楔子,所以它不应该自动生成,应该交给开发者去管理。
key 值最管用的应该是子组件顺序发生调换之后,开发者用 key 来告诉 React:这个组件只是被移动了个位置,你把原来的同 key 对象改改就行,不用从头造一个 VirtualDOM
而如果让 React 自己去生成 key,它势必要先调用生成 key 的方法才能继续 diff,只在流程上多了一步,增益不会很大,甚至会起到反作用,不如不用 key


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...