網誌

React use() 與 Suspense:無瀑布的資料串流

儀表板上的六張卡片,六個旋轉器,它們不會一起出現——它們一個接一個出現,像骨牌一樣,因為每張卡片只在上面的完成後才開始載入。這就是瀑布,總等待時間不是最慢的請求,而是所有請求的總和。use() 和 Suspense 斷開了這個鏈條——但有趣的是其中的機制:暫停的元件實際上拋出了什麼,以及錯誤順序到達的 HTML 如何最終落在正確的位置。

View Transitions 與 Next.js:無需函式庫的頁面動畫

十年來,將縮圖動畫成英雄圖片只有一種技術:在前後測量元素,用 transform 偽造差異,然後播放。FLIP。每個動畫函式庫都這樣做,每個都在最糟糕的時候以主執行緒的 JavaScript 為代價。View Transitions API 將整個技巧轉移到瀏覽器——自 React 19.2 和 Next.js 16 起,整個合約只需要一個名為 name 的 prop。

Next.js 的 Server Actions:JavaScript 尚未加載,表單已經在運作

「use server」看起來就像是呼叫 API route 的 fetch 的語法糖——正因如此,大部分實作都把它當成普通的函式呼叫來對待。這是一個會帶來具體後果的誤解:每一個標記為「use server」的函式,都會變成網絡上一個公開的端點,而建基於這個機制的表單,甚至在 JavaScript 尚未加載完成之前就已經可以運作。本文探討這個指令背後實際發生的事情,以及那些單看文件未必一眼就能看出的陷阱。

為屏幕閱讀器建立可訪問的組件

正確的 HTML 只是起點。本文深入講解可訪問性樹的實際運作方式、ARIA 為何往往弊多於利,並與你一起實作一個真正可用的手風琴組件、一個即時通知區域,以及 Next.js 的焦點處理。