react hook - 简介 & 概览

2022-12-31  本文已影响0人  廖雪青

简介

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。

定义:

Hook 是一些可以让你在函数组件里“钩入” React state 及生命周期等特性的函数。

请记住Hook是:

Hook 不会影响你对 React 概念的理解

为什么要在React中引入Hook?

原因一:在组件之间复用状态逻辑很难

原有解决方案:render props、高阶组件、providers、consumers
缺点:

这说明了一个更深层次的问题:React 需要为共享状态逻辑提供更好的原生途径。

原因二:复杂组件变得难以理解

组件常常在 componentDidMount 和 componentDidUpdate 中获取数据。但是,同一个 componentDidMount 中可能也包含很多其它的逻辑,如设置事件监听,而之后需在 componentWillUnmount 中清除。相互关联且需要对照修改的代码被进行了拆分,而完全不相关的代码却在同一个方法中组合在一起。如此很容易产生 bug,并且导致逻辑不一致。

原因三:难以理解的class组件

原因四:Hook出现前,函数式组件的局限:

函数组件无法存在内部状态,必须是纯函数,而且也无法提供完整的生命周期机制。这就极大限制了函数组件的大规模使用。

使用Hook的好处

好处一:简化逻辑复用

好处二:有助于关注分离

上一篇下一篇

猜你喜欢

热点阅读