#REACT
為什麼同一個值要存一份 state、又存一份 ref?latest ref pattern 與值的兩種時間語意
從 stale closure 出發拆解 React 的 latest ref pattern:為什麼同一個值需要 state、ref 兩份,鏡射該寫在 render 期間還是 effect 裡(useInsertionEffect / useLayoutEffect / useEffect 的完整比較),以及官方 useEffectEvent 覆蓋了哪些情境、哪些仍要手寫。
useQuery 還是 useMutation?為什麼「讀資料」有時該用 useMutation——前端和後端同步的心智模型
「讀資料用 useQuery、寫資料用 useMutation」的直覺在下載連結、OTP、報價這類請求上會踩坑。這篇從 TanStack Query 的設計出發,講清楚前端和後端到底在同步什麼:快照 vs 動作的分界線、為什麼 refetch 不能帶參數、以及一張決策流程圖。
React + TypeScript + SSR:先手寫一次 raw SSR,再進 Next.js
想真的搞懂 React SSR,最短路是先用 Vite + react-dom/server 親手 wire 一次 raw SSR,看清 renderToPipeableStream、hydrateRoot 這些 primitive 在幹嘛,再進 Next.js 看 wrapper 換到什麼。附兩站的動手 prompt 與 Remix / React Router v7 / TanStack Start 的框架地圖。
How to Inspect the Internal Implementation of React by Using Browser DevTools
Note on how to set up your environment and inspect how React works internally by using browser DevTools.
Reading Apollo Client Source Code: useQuery
從 Apollo Client 原始碼拆解 React useQuery 何時發出請求、如何訂閱查詢結果,以及資料更新為何觸發重新算繪。
Develop npm packages locally with ease: explore symlinking, packaging, and third-party tools for smooth local testing.
Compare symlinks, npm package archives, and local publishing tools for developing an npm package in one repository and testing it in another.
How to Use D3 With React
整理在 React 專案使用 D3 的三種整合模式,比較由 D3 操作 DOM、操作虛擬 DOM,以及只使用 D3 計算模組的取捨。
Reading Redux Source Code:深入理解 Redux store 結構與更新機制
透過 Redux 原始碼拆解 store 的結構、dispatch action、reducer 更新與 listener 通知流程,理解嚴格單向資料流實際如何運作。