Relay 文件
Relay 是一個用於 React 的資料管理函式庫,可讓您使用 GraphQL 提取和更新資料。 它體現了多年的學習成果,透過預設提供卓越的效能,同時保持程式碼的穩定性和可維護性。
Relay 將 React 元件的可組合性帶入資料提取。 每個元件都宣告自己的資料需求,而 Relay 將它們組合為高效、可預先載入的查詢。 其設計的每個方面都是為了讓自然的元件編寫方式也是效能最佳的方式。
功能
- 宣告式資料:只需宣告每個元件所需的資料,Relay 將處理載入狀態。
- 共同配置和可組合性:每個元件都宣告自己的資料需求;Relay 將它們組合為高效的查詢。 當您在不同的畫面重複使用元件時,您的查詢會自動更新。
- 預先提取:Relay 會分析您的程式碼,以便您在程式碼下載或執行之前開始提取查詢。
- UI 模式:Relay 實作載入狀態、分頁、重新提取、樂觀更新、回滾和其他難以正確處理的常見 UI 行為。
- 一致的更新:Relay 維護標準化的資料儲存,因此即使元件透過不同的查詢存取相同的資料,它們也能保持同步。
- 串流和延遲資料:宣告式地延遲查詢的部分,當資料串流進入時,Relay 會逐步重新渲染您的 UI。
- 出色的開發人員體驗:Relay 為您的 GraphQL 綱要提供自動完成和跳至定義的功能。
- 類型安全:Relay 會產生類型定義,以便在靜態時而非執行時捕獲錯誤。
- 管理本機資料:對伺服器資料和本機用戶端狀態使用相同的 API。
- 超最佳化執行時:Relay 不斷進行最佳化。 其 JIT 友好的執行時透過靜態判斷要預期的有效負載,更快地處理傳入的資料。
堆疊
Relay 在 Web 和 React Native 上都可運作 — 它在 Meta 的這兩種環境中都廣泛使用。 它是框架無關的,可與 Next、React Router、Create React App 等搭配使用。 它同時適用於 TypeScript 和 Flow。
Relay 完全與 GraphQL 綁定,因此如果您無法使用 GraphQL,它就不是適合您的選擇。
Relay 有一個與 UI 無關的層,用於提取和管理資料,以及一個特定於 React 的層,用於處理載入狀態、分頁和其他 UI 模式。 主要支援與 React 一起使用時,儘管您如果需要,也可以在 React 外部存取您的 Relay 資料。 Relay 的 React 特定部分基於 Suspense,因此如果您停留在較舊版本的 React 上,則會有一些限制。
接下來該怎麼做
從教學開始 — 它將逐步引導您建立 Relay 應用程式。
這個頁面有用嗎?
請幫助我們透過 回答一些快速問題,讓網站變得更好.