簡體   English   中英

React Server 組件(RSC)可以有生命周期嗎?

[英]Can React Server components (RSC) have a lifecycle?

與 RSC 一樣,由於此處提到的各種原因,React 代碼將位於服務器端

我想知道是否有一種方法可以在掛載點之后利用生命周期和獲取 API(例如 update 或 useEffects)。

不。

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

服務器組件:作為一般規則,服務器組件在服務器上每個請求運行一次,因此它們沒有 state 並且不能使用僅存在於客戶端上的功能。 具體來說,服務器組件:

  • ❌ 不能使用 state,因為它們(概念上)在服務器上每個請求只執行一次。 所以不支持 useState() 和 useReducer()。
  • ❌ 可能不使用渲染生命周期(效果)。 所以不支持 useEffect() 和 useLayoutEffect() 。
  • ❌ 不得使用僅限瀏覽器的 API,例如 DOM(除非您在服務器上對它們進行 polyfill)。
  • ❌ 不得使用依賴於 state 或效果的自定義掛鈎,或依賴於僅瀏覽器 API 的實用程序函數。
  • ✅ 可以使用僅限服務器的數據源,例如數據庫、內部(微)服務、文件系統等。
  • ✅ 可以渲染其他服務器組件、原生元素(div、span 等)或客戶端組件。

服務器掛鈎/實用程序:開發人員還可以創建為服務器設計的自定義掛鈎或實用程序庫。 服務器組件的所有規則都適用。 例如,服務器掛鈎的一個用例是為訪問服務器端數據源提供幫助程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM