文章目录
Hook是一个特殊函数,它可以勾入React的特性,如state
概览
Hook大致分为两大类,一类为state类,一类为effect类
-
state类可以使用
React在类中使用的state等属性 -
effect类可以实现类似
React类的特殊构造函数功能,如componmentWillMount
使用规则
Hook就是javascript的函数,使用时应遵循以下两个基本规则
- 只能在函数最外层调用
Hook。不要在循环、条件判断、子函数中调用 - 只能在
React的函数组件中调用,不要在其他原生javascript函数中调用
官方提供了eslint-plugin-react-hooks这个组件能保证以上两台
|
|
内置的Hook
useState
作用类似于class内中的this.state
|
|
useEffect
数据获取、数据订阅、以及手动更改DOM都属于副作用
-
作用类似
componentDidMount,componentDidUpdate,componentWillUnmount。将class中的三个合并成为了一个 -
当调用
useEffect函数时,就是告诉React在完成对DOM有更改后,运行我们的作用函数 -
作用函数可以通过返回一个函数来指定如何清除作用函数
|
|
编写自定义的Hook
第三方
文章作者 UnknowName
上次更新 0001-01-01