没法在组件之间复用数据处理的逻辑,或不够直接,例如props和高阶组件的实现方式html
复杂组件愈来愈难理解和维护,易引入bugreact
Class语法带来复杂性api
只能在函数的最外层调用函数数组
只能在React的函数组件中调用Hook网络
自定义hook命名规则(useSomething)函数
在React更新DOM以后运行一些额外的功能(订阅,发送网络请求)htm
分类(需清除和无需清楚的反作用)生命周期
useEffect默认状况下每次渲染后执行,包括首次渲染get
传递给useEffect的函数若返回值为函数,此函数将在组件销毁时执行,以执行effect的清除工做class
若想执行只运行一次的effect(仅在组件挂载和卸载时执行),能够传递空数组做为useEffect的第二个参数
解决React组件中没法灵活共享逻辑的问题
自定义hook以use开头
相同hook不会共享state
参考文章