flutter中的key到底有什么用?

谢邀,Flutter 的设计思想与 React 十分类似,都是在界面状态发生变化时重新生成组件树,然后 diff-patch 到真实的渲染树上。key 这个概念在渲染批量相同类型的组件时很重要,因为一个列表中添加和删除元素是一个很常见的操作,diff 算法为了能区分究竟哪个 item 被删掉(或添加、交换位置)了,就需要借助 key 作为唯一标示符,不然这一批 item 对于 differ 来说都是一样的,无法区分(这样一来框架可能会 fallback 到 deep comparing,造成严重的性能问题)。

https://www.zhihu.com/question/268550818

猜你喜欢

转载自blog.csdn.net/nimeghbia/article/details/82622426