React hooks 的潜规则

主要观点:

  • 更新内容包含 react.dev 站点上存在的文档链接,虽认为其难发现且相对重要性被强调不足,但团队指出有相关文档。
  • 对 React hooks 有复杂感受,指出一些 React 文档未涵盖的关于useEffect的内容。
  • useEffect依赖项规则是依赖数组应包含回调中引用的所有变量,否则可能出错,但有一些“已知稳定”的值不必包含在依赖数组中。
  • 强调 React 的文档在记录此内容方面令人失望,内置钩子返回值的稳定性未在 API 文档中提及,而是在专题指南中。
  • 对于第三方钩子,如 Jotai 的useAtom和 tanstack-query 的useMutation的返回值稳定性不确定。

关键信息:

  • useEffect依赖项规则及示例。
  • 已知稳定的一些值,如 state setters、reducer dispatchers 等。
  • React 文档在记录相关内容上的不足。
  • 第三方钩子稳定性的疑问。

重要细节:

  • useEffect示例中,若未将引用的变量放入依赖数组会导致错误,如useEffect(() => { console.log(x); }, [])是错误的,应改为[x]
  • useEffect相关文档链接,如在Synchronizing with Effectsdedicated guide to useEffect behavior
  • 对于第三方钩子,如 Jotai 的useAtom和 tanstack-query 的useMutation,其返回值稳定性不确定。
阅读 14
0 条评论