react hooks(钩子)


参考:https://zh-hans.reactjs.org/docs/hooks-intro.html

概念理解

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。
(生命周期只存在于类组件中,hooks可以使函数式组件也包含状态)

常见的钩子函数

状态钩子:useState()

const [count, setCount] = useState(0);
  • React自带的一个hook函数,声明组件状态
  • 参数可以设置state的初始值
  • 返回值是一个只有两个元素的数组:[状态,状态更新函数]
    等同于类组件:
class Example extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      count: 0
    };
  }

副作用钩子useStateuseEffect

更多API参考:https://zh-hans.reactjs.org/docs/hooks-reference.html

 // 副作用钩子的第二个参数,默认情况下,效果会在每次完成渲染后运行,但可以选择只在第二个参数发生变化时运行
  useEffect(() => {
    document.title = `点击次数为${count}`
  }, [count])