React相关面试知识点

255 阅读1分钟

React相关面试知识点

hooks使用规范

不能在循环、嵌套语句中使用、确保总是在你的 React 函数的最顶层以及任何 return 之前调用他们。  这样才能确保 Hook 在每一次渲染中都按照同样的顺序被调用,因为react实现查找的是链表、他用数组和下标来实现hooks的查找,如果在条件或者循环语句中调用hooks,就容易实现hooks对应状态的混乱。不能在render的时候去调用hooks

函数式组件和类组件的区别

**react**16.8之后,推出的react hooks版本,最大的区别就是无状态组件,

image.png 函数式组件方便去监听react的变更值,方便根据值做出对应的操作

useMemo 、useCallback 区别

image.png

React Fiber原理

fiber是react16之后引入的一种调度算法,为了性能优化,16版本之前在创建虚拟dom渲染到页面是递归遍历渲染的,不能被打断,16之后引入了Fiber,思想是将任务分成很多小任务,在每个小任务执行的时候会看有没有空闲时间,如果有去执行下一个任务。其中真正实现是改变16之前vdom直接渲染,先将vdom转换为fiber,每个fiber有记录的child、siblings、return;形成了一种链表形式,所以可以被打断,在转换fiber的过程中还会做两件事情一个是提前创建对应的 dom 节点,一个是做 diff,确定是增、删还是改。最后全部转换完成以后,一次性commit渲染到页面;

useState原理 juejin.cn/post/686707…

useEffect原理 blog.csdn.net/weixin_4679…

JSX原理 blog.csdn.net/weixin_4029…