一、为什么要使用Hooks
我们都知道React 为我们提供了两种创建组件的方式, 函数组件和类组件,函数组件是一个普通的JS函数, 可以接收一个props对象并返回一个React。而类组件不仅有props 还有自己的状态、生命周期,从而在使用时有些复杂组件变的很难理解; Hooks 就是让纯函数中也可以有自己的状态,解决一些类组件不好用的地方
比如:class组件中我们必须去绑定事件处理器、相互关联的代码逻辑被进行了拆分(componentDidMount里面你定义了一个定时器,你需要在componnetWillUnmount中清除)
什么是Hook?
Hooks是react 16.8 以后的新特性, 可以让你在不编写class时使用state以及React 新特性。
Hook 是一些可以让你在函数组件钩入 React State 和 生命周期的函数, 不能在class 中使用 ,比如useState就是在函数组件中钩入State的Hook
二、语法上看class和Hooks区别
一个计数器的小例子;当你点击按钮的时候,计数器的值会增加
一个简单的有状态组件
我们看一下使用Hooks 的版本