【问题标题】:Can React Server components (RSC) have a lifecycle? [closed]React Server 组件(RSC)可以有生命周期吗? [关闭]
【发布时间】:2021-03-02 19:45:36
【问题描述】:

与在 RSC 中一样,由于 HERE 提到的各种原因,React 代码将位于服务器端。

我想知道是否有一种方法可以在挂载点之后利用生命周期和获取 API(例如 update 或 useEffects)。

【问题讨论】:

    标签: javascript reactjs typescript


    【解决方案1】:

    没有。

    来自https://github.com/josephsavona/rfcs/blob/server-components/text/0000-server-components.md#capabilities--constraints-of-server-and-client-components

    服务器组件:作为一般规则,服务器组件每次运行一次 在服务器上请求,因此它们没有状态并且无法使用功能 仅存在于客户端上。具体来说,服务器组件:

    • ❌ 可能不使用状态,因为它们(在概念上)每个请求只在服务器上执行一次。所以 useState() 和 useReducer() 不是 支持。
    • ❌ 可能不使用渲染生命周期(效果)。所以不支持 useEffect() 和 useLayoutEffect()。
    • ❌ 不得使用仅限浏览器的 API,例如 DOM(除非您在服务器上对其进行 polyfill)。
    • ❌ 不得使用依赖于状态或效果的自定义挂钩,或依赖于仅浏览器 API 的实用程序函数。
    • ✅ 可以使用仅限服务器的数据源,例如数据库、内部(微)服务、文件系统等。
    • ✅ 可以渲染其他服务器组件、本机元素(div、span 等)或客户端组件。

    服务器挂钩/实用程序:开发人员还可以创建自定义挂钩或 为服务器设计的实用程序库。所有的规则 适用于服务器组件。例如,服务器的一个用例 hooks 是为访问服务器端数据源提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多