原文作者:Dan Abramov
译者:UC 国际研发 Jothy
写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。
编者按:英文原文带有大量外链,由于微信的限制不能很好展示,您可选择「阅读原文」获得更好的阅读体验。:-)
随着 React 发布 16.8 版本,React Hooks 也发布稳定版本啦!
什么是 Hooks?
Hooks 允许你在不编写 class 的情况下使用状态(state)和其他 React 特性。 你还可以构建自己的 Hooks, 跨组件共享可重用的有状态逻辑。
如果你以前从未听说过 Hooks, 你可能会觉得这些资源很有趣:
Hooks 介绍 解释了我们给 React 添加 Hooks 的原因。
Hooks 概览 是对内置 Hooks 的快速概述。
构建自己的 Hooks 演示了如何使用自定义 Hooks 重用代码。
理解 React Hooks 探索了那些被 Hooks 解锁的新的可能。
useHooks.com 展示了由社区维护的 Hooks 用法和 demos.
你不必现在就学习 Hooks. Hooks 没有重大变化,我们不计划从 React 中移除 class. Hooks FAQ 描述了我们逐步采纳的策略。
无重大重写
我们不建议你为了马上应用 Hooks 而重写现有应用。相反,我们建议你尝试在一些新的组件中使用 Hooks, 并且让我们了解你的想法。 使用 Hooks 的代码将与使用 class 的现有代码并行工作。
我现在可以用 Hooks 了吗?
可以的! 从 16.8.0 版本开始,React 包含一个稳定的 React Hooks 实现,可用于:
React DOM
React DOM 服务器(Server)
React 测试渲染器(Test Renderer)
React 浅层渲染器(Shallow Renderer)
请注意,要启用 Hooks, 所有 React 包都必须升级到 16.8.0 或更高版本。 如果你忘记更新诸如 React DOM 之类的包,