React面试重要知识点

本文探讨了React面试中的重要知识点,包括React中keys的作用、setState的机制、生命周期方法、性能优化、虚拟DOM的优势和diff算法,以及refs的用途。此外,还分析了组件状态(state)与属性(props)的区别,并简要介绍了Redux及其优缺点。
摘要由CSDN通过智能技术生成

1.React 中 keys 的作用是什么?

keys是React中用来追踪列表中哪些元素被修改,被添加,被删除的辅助标识。

我们需要保证每个元素的key值在同级元素中是唯一的,在React Diff算法中会借助key值来判断该元素是原来就有的还是新增的,从而避免不必要的元素重渲染。此外,React 还需要借助 Key 值来判断元素与本地状态的关联关系。

2.调用 setState 之后发生了什么?

React会将传入的参数对象与当前组件的状态合并,然后触发调和过程,调和之后,React会用相对高效的方式来创建新的元素树,构建好新的元素树后,React会自动计算出新老树的节点差异,根据差异对UI界面进行最小化重渲染。

3.react 生命周期函数

  • 初始化阶段 

              getDefaultProps:获取实例的默认属性(用在你定义组件是React.createClass方式,如果es6的语法,例如用的是class                                                 XX extends React.Component的话,而是应该用 static propTypes ={}来定义)

               getInitialState:  获取每个实例的初始化状态(getDefaultProps设置默认的 props,getInitialState设置初始的state在使                                             用 es6的class语法时是没有这个钩子函数的,可以直接在construc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值