定义:函数组件中用来处理外部功能和副作用的 React Hooks 也被称为钩子。这些钩子是函数组件的副效应解决方案,用来为函数组件引入副效应。
种类:React Hook 有系统默认提供和自己自定义封装两类。所有钩子一律使用use前缀命名,便于识别。比如我们要使用 xxx 功能,钩子就命名为 usexxx。
1、函数组件的主体只应该用来返回组件的 HTML 代码,所有的其他操作(副效应)都必须通过钩子引入。
2、函数组件中需要外部功能和副作用,就用钩子把外部代码"钩"进来。需要什么功能,就使用什么钩子。
3、useEffect()是通用的副效应钩子 。找不到对应的钩子时,就可以用它。
以下是系统默认提供的钩子:
useState():保存状态
useContext():保存上下文
useRef():保存引用
useEffect(): 通用钩子
注意事项:
1、只能在 React 的函数组件中调用 Hook,不要在其他 JavaScript 函数中调用。
2、只能在函数组件内部的最外层调用 Hook,不要在循环、条件判断或者子函数中调用。