自从第一个关于React Hooks的 alpha 版本发布以来,有一个问题不断出现在讨论中:“为什么是 Hook 而非 <一些其他的 API> ?”
提示一下,以下的这些就是Hooks:
useState()
用于声明一个状态变量。useEffect()
用于声明一个补充规则(side effect)。useContext()
用于读取一些上下文的内容。
但是仍有一些其他的 API,例如React.memo()
和<Context.Provider>
,它们不是Hooks。通常提出的 Hook 版本会建议是noncompositional或者antimodular。本文将帮助你了解原因。
提示:这篇文章对那些对 API 讨论感兴趣的人来说是一个深刻的话题,你不需要考虑使用 React 来提升效率!