自定义 Hook
- 当我们想在两个函数之间共享逻辑时,我们会把它提取到第三个函数中。主要用于 状态逻辑的复用
- 自定义 Hook 是一个函数,其名称以 “use” 开头,函数内部可以调用其他的 Hook
- 自定义 Hook 是一种自然遵循 Hook 设计的约定,而并不是 React 的特性。
- 自定义 Hook 必须以 “use” 开头吗?:是的; (否则React 将无法自动检查你的 Hook 是否违反了 Hook 的规则。)
- 在两个组件中使用相同的 Hook 会共享 state 吗?: 不会; (自定义 Hook 是一种重用状态逻辑的机制,其中的所有 state 和副作用都是完全隔离的。)
- 在多个 Hook 之间传递信息:由于 Hook 本身就是函数,因此我们可以在它们之间传递信息
- 示例
//自定义 useFriendStatus Hook
import {
useState, useEffect } from 'react';
function useFriendStatus(friendID) {
const [isOnl