← 返回首頁

Expo Router v55 強化原生導航與網頁渲染能力

Expo
Expo
@expo
203🔁 10
𝕏 (Twitter)🔥🔥
AI 中文摘要Claude 生成

Expo Router v55 強化原生導航與網頁渲染能力。

Expo Router v55 透過升級導航 API 與引入實驗性伺服器端渲染功能,進一步縮短了跨平台開發與原生體驗之間的差距,致力於讓開發者在保持單一程式庫的同時,能打造出更具原生感的應用程式。

原生導航與 UI 組件升級
此次更新將原生 UI 納入路由系統的核心,開發者現在可以透過 React 組件直接控制導航介面,無需額外編寫原生程式碼:

  • 新版 Stack API:提供宣告式、組件層級的標頭(Header)控制,可直接在螢幕組件中設定標題、樣式及搜尋欄。
  • 原生 Tabs:支援 Material Design 3 動態色彩(Android)及 iOS 26 的底部配件(Bottom Accessory),並預設整合 SafeAreaView,確保內容不會被遮擋。
  • 縮放轉場(Zoom transition):基於 Apple Zoom API,為應用程式中的任何 提供手勢驅動、可中斷的原生共享元素轉場效果。
  • 工具列(Toolbars):支援 iOS 原生工具列,包含內建動畫與「liquid glass」視覺效果。
  • 分割視窗(Split view):與 React Native Screens 團隊合作,新增對 iPad 原生 UISplitViewController 的實驗性支援。

網頁端能力擴展
Expo Router v55 大幅提升了網頁端的執行效率與功能,讓開發者無需構建獨立的網頁技術堆疊:

  • expo-server:正式成為 Expo SDK 的一部分,提供執行時期伺服器 API,並支援 EAS Hosting、Express、Vercel、Netlify、Cloudflare Workers 及 Bun 等部署環境。
  • 伺服器標頭(Server headers):允許在應用程式配置中直接定義自訂 HTTP 標頭,適用於安全性設定、快取策略及 Cookie 管理。
  • 實驗性伺服器端渲染(SSR):支援在請求時動態生成 HTML,改善個人化內容的即時性與 SEO 表現。
  • 實驗性資料載入器(Data loaders):透過 useLoaderData hook,允許開發者在伺服器端獲取資料並直接在組件中使用,實現資料獲取邏輯與路由組件的共存,同時確保敏感資料(如環境變數)留在伺服器端。

開發注意事項與反思
官方強調,雖然本次更新旨在提升開發體驗,但部分功能仍處於實驗階段,開發者需注意以下事項:

  • 破壞性變更:本次發布包含部分 API 的破壞性變更,升級時需參考官方提供的遷移指南。
  • 實驗性功能:如 SSR 與資料載入器等功能尚在實驗階段,建議開發者在實際專案中謹慎測試,並透過回饋機制協助團隊優化。
  • 核心目標:Expo Router v55 的核心承諾在於「預設原生感」,官方鼓勵開發者嘗試新 API(如 Stack Header 或 Native Tabs),並積極回報問題,以確保這些功能在未來版本中能達到穩定標準。