開發經驗追蹤
最近上手了 @tanstack/router 之後,一發而不可收拾,感覺其提供的開發體驗非常棒。但在部署的時候,發現 @tanstack/start 還在 comming soon,又切換回 Next.js 開發一個單頁面。
使用其中一個的時候,總想著另一個框架好用的特性。記錄兩點,期望再次遇到的時候,不紐結,直接為場景用到最適配的方案。
使用 tanstack/router 的時候,想的 Next.js 的好#
parellel route,文件中提到了,但對應的內容是 TODO。
同樣,對於彈層管理,使用 tanstack 的 route mask + outlet 能夠較為清晰的劃分職能,但是,攜帶者頁面上下文的情況(進入了子路由),再通過 子路由切換 mask 內容,在一個路由上無法承載了。所以要劃分清基於路由的 mask 可使用場景的邊界。
這,讓我原本設想的,一套路由打極大縱深的情況收斂了。
所以,還是可以設想一些應用場景。做出來互動,使用的。
使用 Next.js 的時候,想 tanstack/router 的好#
route 參數的 type-safe:
- 當前已有的路由的提示
- 當前路徑路由的 params
- 自動標準化路由中 search 參數
只這一條,開發體驗太重要了,為了處理路由入口頁面 initial 過程中的參數,膠水代碼很多。之前在公司項目中,為處理 search params 寫了較多的前置處理邏輯。現在感覺太零散了,而 tanstack/router 的方案就足夠整體。原本認可 Next.js, 是因為它足夠原生,基本上直接使用瀏覽器原生的 API,當然,還有將此特色推行到極致的 remix。但這種特色下,開發體驗太不順暢了,很多方式邏輯都要調整。這樣失去了在專門場景下,可以簡化的空間。
好想把 tanstack router 的這一套路由 type-safe 邏輯,搞到 next.js 中。或者,作為抽象出通用的 type-safe 方案參考案例。
接下來,試一試 tanstack router + vinxi 的元框架的部署