React Hooks 学习笔记
引言 2019 年开始,在使用React的时候,已经逐步从 Class 组件,过渡到函数组件了。虽然函数组件十分便捷,但是在使用函数组件的时候,还是有一些疑惑的地方,导致有时候会出现一些奇奇怪怪的问题。在这里,我想通过官网和博客文章以及自己的一些积累,整理下最佳实践,以备不时之需。 Hook 不会影响你对 React 概念的理解。 恰恰相反,Hook 为已知的 React 概念提供了更直接的 API:props, state,context,refs 以及生命周期。稍后我们将看到,Hook 还提供了一种更强大的方式来组合他们。 下面是一些官方列举的,提出并使用 hooks 的一些动机。 在组件之间复用状态逻辑很难 你可以使用 Hook 从组件中提取状态逻辑,使得这些逻辑可以单独测试并复用。 Hook 使你在无需修改组件结构的情况下复用状态逻辑。 这使得在组件间或社区内共享 Hook 变得更便捷。 复杂组件变得难以理解 useEffect 我们经常维护一些组件,组件起初很简单,但是逐渐会被状态逻辑和副作用充斥。每个生命周期常常包含一些不相关的逻辑。例如,组件常常在 componentDidMount 和 componentDidUpdate 中获取数据。但是,同一个 componentDidMount 中可能也包含很多其它的逻辑,如设置事件监听,而之后需在