React Hook新特性,及Hook解决了什么?
React Hook官方文档
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性
一、useEffect、useLayoutEffect
- useEffect接受两个参数,第一个参数是一个effcet函数并在页面渲染完成之后调用,effcet可以返回一个清除函数,第二个参数是一个数组,只有数组里的值与上一次有更新时才会重新调用effect函数,如果传空数组[ ],effect只运行一次。
- useLayoutEffect()与useEffect()类似,区别在于useLayoutEffect接收到的函数参数在组件渲染之前就会被执行。
二、useState原理
1、整体思路:接收一个初始值,并返回一个数组
将_state改造为一个数组,用于存储多个state,另外还需要新建一个变量index用于表明state在_state中的顺序: