React Hooks学习笔记(一) -简介

React Hooks简介

在React 16.8中引入了React Hooks概念,之前state只能在类组件中定义,有了Hooks后,可以在函数组件中使用state以及其它React特性。

Hooks 使你在非 class 的情况下可以使用更多的 React 特性。 从概念上讲,React 组件一直更像是函数。而 Hooks 则拥抱了函数,同时也没有牺牲 React 的精神原则。

Hooks 是一些可以让你在函数组件里“钩入” React State 及生命周期等特性的函数。Hooks 不能在 class 组件中使用 —— 这使得你不使用 class 也能使用 React。


为什么使用Hooks?

类组件的缺点:

  • 需要更好的理解this关键字在JavaScript中的作用
  • 类组件中需要绑定事件
  • 类组件体积庞大,同时热加载不可靠
  • 数据获取和事件过程分散在不同的生命周期方法里,比如数据可以在ComponentDidMount方法中获取也可以在ComponentDidUpdate方法中更新;事件在ComponentDidMount方法中创建,在ComponentWillUnmount方法中销毁。

Hooks使用规则

  • 只能在函数最外层调用 Hook。不要在循环、条件判断或者子函数中调用。
  • 只能在 React 的函数组件或者自定义Hook中调用 Hook。

总结

  • 想使用React Hooks必须使用React 16.8或者更高版本,可以选择使用Hooks也可以选择继续使用类组件。
  • React Hooks是100%向后兼容的,不需要把之前的类组件使用Hooks重构。
  • 使用Hooks可以获得React所有特性,而不用编写类组件。
  • 不能在类组件中使用React Hooks。
  • Hooks 将组件中相互关联的部分拆分成更小的函数(比如设置订阅或请求数据),而并非强制按照生命周期划分。你还可以使用 reducer 来管理组件的内部状态,使其更加可预测。

猜你喜欢

转载自blog.csdn.net/qq_34307801/article/details/110160597