让函数组件实现 state 和 setState

  • 默认函数组件没有state
  • 函数组件是一个纯函数,执行完即销毁,无法存储 state
  • 需要 State Hook,即把 state 功能“钩”到纯函数中
  1. import { useState } from "react";
  2. const [name, setName] = useState('pw');
  3. const [age, setAge] = useState(23);

使用总结

  • useState(0) 传入初始值,返回数组 [state, setState]
  • 通过 state 获取值
  • 通过 setState(1) 修改值

    Hooks命名规范

  • 规定所有的 Hooks 都用 use 开头

  • 自定义 Hook 也要用 use 开头
  • 非 Hooks 的地方,尽量不要使用 useXxx 的写法