周刊收集包含前端(但不限于前端)的文章、新闻、开源我的项目、工具等等,每周一更新。
📰 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 开启。
📖 文章
古代 Web 开发困局
https://mp.weixin.qq.com/s/PjpA4CBoC3Q0-gT5f5qlPg
可能是最欠缺的 React+Vite 解决方案,阿里飞冰团队公布 icejs 2.0 版本
https://mp.weixin.qq.com/s/AQelBkgZ-rRykxcNXynJBQ
应用 JSDoc 进步代码的可读性
https://juejin.cn/post/6844903828123320334
coa 和依赖锁定
周下载量 700w+ 的 npm 包 coa 昨晚(2021.11.4)让大片前端社区挂了。
应该是被黑客偷了公布权限,针对不同的 major 和 mirror 别离公布带问题的版本,其新增版本在 preinstall hook 里执行 start /B node compile.js & node compile.js。
https://mp.weixin.qq.com/s/KbmpzvoB1yJlNDEO1p_fJQ
我看 Next.js:一个更古代的海王
蕴含:
- next.js 是什么?有哪些长处?为啥狼叔感觉它看起来像一个海王?
- 比照 cra,umi 和 next.js,它们之间的差别是什么?
- next.js 生态除了 vercel,还有 rust 和 blitzjs,你都理解吗?
- 实现一个框架有哪 4 方面的思考?
- 在服务端渲染畛域,比照 next.js 和 ykfe/ssr,有何异同?
https://mp.weixin.qq.com/s/5Ir7EoHLo37bs6W5WNa-Tw
React Hooks 常见问题
- 大家可能都晓得不要在分支、循环里调用 hooks,同时也不要在 hooks 调用前 return,比方 if (!id) return; useEffect(() => {}); return <div />
- 没有 rerender 需要的不要用 useState,会导致不必要的 rerender,请改用 useRef,比方 const counter = useRef(0); function clickHandler() { cmounter.current += 1}
- 不要在一个 useEffect 里发申请,而后在另一个 useEffect 里解决回调
- 屡次批改 useState 时,用函数,比方 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 类型运算实现一个中国象棋程序
家喻户晓,TypeScript 是图灵齐备的,因而,只有咱们违心,那当然是能够用它来实现一个象棋程序的。于是咱们就高兴地开始了,为了了解不便,咱们不思考性能优化策略,纯正从性能实现角度去构建。另外,咱们尝试用中文来编写这个程序,因为类型运算中须要用到的操作符很少,类型实质上是一种对事实世界的形容,某种程度上算是一种业务描述语言,应用中文也挺好的。
https://zhuanlan.zhihu.com/p/426966480
How to Use Next.js Middleware
利用 Next.js 12 的 Middleware 和 Vercel Edge Function 能够做啥?作者给了一些例子,包含重定向、Rewriting、权限管制、拜访统计、基于地理位置信息的拜访过滤、基于当地工夫的亮暗主题切换。
https://www.ctnicholas.dev/articles/how-to-use-nextjs-middleware
🛠 工具、软件
Unwrap。
Unwrap 是一款开源的 Swift 应用程序,能够通过 100 节外围课程,或是运行代码进行实际,来更高效疾速的学习 Swift。
https://github.com/twostraws/Unwrap
一键配置开发环境——前端环境管理工具 AppToolkit 正式公布
https://mp.weixin.qq.com/s/phGAlrY7Luu4S_3gf9QmNQ
周刊首发于 GitHub,欢送订阅:
我的周刊