React Hooks
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。
Hook 使用规则
hooks 本质就是 JavaScript 函数,但在使用它时需要遵循两条规则:
- 不要在循环,条件或嵌套函数中调用 Hook, 应确保总是在你的 React 函数的最顶层调用他们。
- 只在 React 函数中调用 Hook,不要在普通的 JavaScript 函数中调用 Hook。也可以在自定义 Hook 中调用其他 Hook。
自定义 Hook
通过自定义 Hook,可以将组件逻辑提取到可重用的函数中。在 React Hook 发布之前,React 中有两种流行的方式来共享组件之间的状态逻辑: render props 和 高阶组件,而现在 Hook 可以让你在不增加组件的情况下解决相同问题的。
当我们想在两个函数之间共享逻辑时,我们会把共享的逻辑提取到第三个函数中。而组件和 Hook 都是函数,所以也同样使用这种方式。