周刊收集包括前端(但不限于前端)的文章、新聞、開源項目、工具等等,每周一更新。
?? News
React Router 6
終于來了,你跟(更)的上嗎?
https://remix.run/blog/react-router-v6
TypeScript 4.5 RC
自 4.5 Beta 后,最大的變更是延遲了 Node 12 ESM 的支持,目前可通過 moduleResolution:nodenext 和 module:nodenext 開啟。
https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-rc/
?? 文章
現(xiàn)代 Web 開發(fā)困局
https://mp.weixin.qq.com/s/PjpA4CBoC3Q0-gT5f5qlPg
可能是最完善的 React+Vite 解決方案,阿里飛冰團隊發(fā)布 icejs 2.0 版本
https://mp.weixin.qq.com/s/AQelBkgZ-rRykxcNXynJBQ
使用JSDoc提高代碼的可讀性
https://juejin.cn/post/6844903828123320334
coa 和依賴鎖定
周下載量 700w+ 的 npm 包 coa 昨晚(2021.11.4)讓大片前端社區(qū)掛了。
應該是被黑客偷了發(fā)布權限,針對不同的 major 和 mirror 分別發(fā)布帶問題的版本,其新增版本在 preinstall hook 里執(zhí)行 start /B node compile.js & node compile.js。
https://mp.weixin.qq.com/s/KbmpzvoB1yJlNDEO1p_fJQ
我看Next.js:一個更現(xiàn)代的海王
包含:
- next.js 是什么?有哪些優(yōu)點?為啥狼叔覺得它看起來像一個海王?
- 對比 cra,umi 和 next.js,它們之間的差異是什么?
- next.js 生態(tài)除了vercel,還有 rust 和 blitzjs,你都了解嗎?
- 實現(xiàn)一個框架有哪 4 方面的思考?
- 在服務端渲染領域,對比 next.js 和 ykfe/ssr,有何異同?
https://mp.weixin.qq.com/s/5Ir7EoHLo37bs6W5WNa-Tw
React Hooks 常見問題
- 大家可能都知道不要在分支、循環(huán)里調用 hooks,同時也不要在 hooks 調用前 return,比如 if (!id) return; useEffect(() => {}); return <div />
- 沒有 rerender 需求的不要用 useState,會導致不必要的 rerender,請改用 useRef,比如 const counter = useRef(0); function clickHandler() { cmounter.current += 1 }
- 不要在一個 useEffect 里發(fā)請求,然后在另一個 useEffect 里處理回調
- 多次修改 useState 時,用函數(shù),比如 setCount(count+1); setCount(count+1) 應該改成 setCount(count => count + 1); setCount(count => count + 1);
- 不要忘記給 useEffect 加依賴
https://blog.bitsrc.io/common-react-hooks-mistakes-every-developer-should-avoid-defd47d09d8c
Everything announced at Chrome Dev Summit 2021
2021年度Chrome Dev Summit大會的摘要匯總。
https://web.dev/cds2021-updates/
用 TypeScript 類型運算實現(xiàn)一個中國象棋程序
眾所周知,TypeScript 是圖靈完備的,因此,只要我們愿意,那當然是可以用它來實現(xiàn)一個象棋程序的。于是我們就快樂地開始了,為了理解方便,我們不考慮性能優(yōu)化策略,純粹從功能實現(xiàn)角度去構建。另外,我們嘗試用中文來編寫這個程序,因為類型運算中需要用到的操作符很少,類型本質上是一種對現(xiàn)實世界的描述,某種程度上算是一種業(yè)務描述語言,使用中文也挺好的。
https://zhuanlan.zhihu.com/p/426966480
How to Use Next.js Middleware
利用 Next.js 12 的 Middleware 和 Vercel Edge Function 可以做啥?作者給了一些例子,包括重定向、Rewriting、權限控制、訪問統(tǒng)計、基于地理位置信息的訪問過濾、基于當?shù)貢r間的亮暗主題切換。
https://www.ctnicholas.dev/articles/how-to-use-nextjs-middleware
?? 工具、軟件
Unwrap。
Unwrap 是一款開源的 Swift 應用程序,可以通過 100 節(jié)核心課程,或是運行代碼進行實踐,來更高效快速的學習 Swift。
https://github.com/twostraws/Unwrap
一鍵配置開發(fā)環(huán)境——前端環(huán)境管理工具 AppToolkit 正式發(fā)布
https://mp.weixin.qq.com/s/phGAlrY7Luu4S_3gf9QmNQ
周刊首發(fā)于GitHub,歡迎訂閱: