首页 > 解决方案 > React 16.7 有 State Hook,我可以在任何情况下使用函数组件而不是类组件吗?

问题描述

React 16.7 有 State Hook,所以我可以在任何情况下使用函数组件而不是类组件,对吗? https://reactjs.org/docs/hooks-state.html

标签: javascriptreactjsreact-hooks

解决方案


实际上,使用 hook 时有一些规则:不要在循环、条件或嵌套函数中调用 Hooks,不要从常规 JavaScript 函数中调用 Hooks。

你可以在这里阅读这些规则和解释:https ://reactjs.org/docs/hooks-rules.html

这是官方的解释。

我们的目标是让 Hooks 尽快涵盖类的所有用例。目前还没有不常见的 getSnapshotBeforeUpdate 和 componentDidCatch 生命周期的 Hook 等价物,但我们计划很快添加它们。对于 Hooks 来说,现在还处于非常早期的阶段,因此一些集成(例如 DevTools 支持或 Flow/TypeScript 类型)可能还没有准备好。目前,一些第三方库也可能与 Hooks 不兼容。


推荐阅读