react解密:react中key的作用是什么?

我们知道,不管是在vue还是react中,当循环列表的时候,往往会写一个key,那么这个key起到了什么作用呢?

其实,key是react用来追踪哪些列表的元素被修改,被添加或者是被删除的辅助标示。在开发过程中我们需要保证某个元素的key在其同级元素中具有唯一性。

在react的diff算法中react会借助元素的key来判断该元素是最新创建的还是被移动而来的,从而减少不必要的元素渲染。除此之外,react还要根据key来判断元素与本地状态的关联关系。

注意点:

  • key的值一定要和具体的元素一一对应
  • 尽量不要用数组中的index来作为key的值
  • 永远不要视图在render的时候用随机数或者是其他的操作来给key加上不稳定的key,这样造成的性能开销比不加key的情况更糟糕。

你可能感兴趣的:(React,react,react,native,javascript)