[英]React - a way to unify, if many components have the same piece of code in lifecycle methods
[英]Can React Server components (RSC) have a lifecycle?
不。
服務器組件:作為一般規則,服務器組件在服務器上每個請求運行一次,因此它們沒有 state 並且不能使用僅存在於客戶端上的功能。 具體來說,服務器組件:
- ❌ 不能使用 state,因為它們(概念上)在服務器上每個請求只執行一次。 所以不支持 useState() 和 useReducer()。
- ❌ 可能不使用渲染生命周期(效果)。 所以不支持 useEffect() 和 useLayoutEffect() 。
- ❌ 不得使用僅限瀏覽器的 API,例如 DOM(除非您在服務器上對它們進行 polyfill)。
- ❌ 不得使用依賴於 state 或效果的自定義掛鈎,或依賴於僅瀏覽器 API 的實用程序函數。
- ✅ 可以使用僅限服務器的數據源,例如數據庫、內部(微)服務、文件系統等。
- ✅ 可以渲染其他服務器組件、原生元素(div、span 等)或客戶端組件。
服務器掛鈎/實用程序:開發人員還可以創建為服務器設計的自定義掛鈎或實用程序庫。 服務器組件的所有規則都適用。 例如,服務器掛鈎的一個用例是為訪問服務器端數據源提供幫助程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.