湖中剑 前端周刊 #12 | React Router 6、依赖锁定、React Hooks指南、海王 Next.js、AppToolkit效率工具

262 阅读3分钟

周刊收集包括前端(但不限于前端)的文章、新闻、开源项目、工具等等,每周一更新。

📰 News

React Router 6

终于来了,你跟(更)的上吗?

remix.run/blog/react-…

TypeScript 4.5 RC

自 4.5 Beta 后,最大的变更是延迟了 Node 12 ESM 的支持,目前可通过 moduleResolution:nodenext 和 module:nodenext 开启。

devblogs.microsoft.com/typescript/…

📖 文章

现代 Web 开发困局

mp.weixin.qq.com/s/PjpA4CBoC…

可能是最完善的 React+Vite 解决方案,阿里飞冰团队发布 icejs 2.0 版本

mp.weixin.qq.com/s/AQelBkgZ-…

使用JSDoc提高代码的可读性

juejin.cn/post/684490…

coa 和依赖锁定

周下载量 700w+ 的 npm 包 coa 昨晚(2021.11.4)让大片前端社区挂了。

应该是被黑客偷了发布权限,针对不同的 major 和 mirror 分别发布带问题的版本,其新增版本在 preinstall hook 里执行 start /B node compile.js & node compile.js。

mp.weixin.qq.com/s/KbmpzvoB1…

我看Next.js:一个更现代的海王

包含:

  • next.js 是什么?有哪些优点?为啥狼叔觉得它看起来像一个海王?
  • 对比 cra,umi 和 next.js,它们之间的差异是什么?
  • next.js 生态除了vercel,还有 rust 和 blitzjs,你都了解吗?
  • 实现一个框架有哪 4 方面的思考?
  • 在服务端渲染领域,对比 next.js 和 ykfe/ssr,有何异同?

mp.weixin.qq.com/s/5Ir7EoHLo…

React Hooks 常见问题

  • 大家可能都知道不要在分支、循环里调用 hooks,同时也不要在 hooks 调用前 return,比如 if (!id) return; useEffect(() => {}); return
  • 没有 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 加依赖

blog.bitsrc.io/common-reac…

Everything announced at Chrome Dev Summit 2021

2021年度Chrome Dev Summit大会的摘要汇总。

web.dev/cds2021-upd…

用 TypeScript 类型运算实现一个中国象棋程序

众所周知,TypeScript 是图灵完备的,因此,只要我们愿意,那当然是可以用它来实现一个象棋程序的。于是我们就快乐地开始了,为了理解方便,我们不考虑性能优化策略,纯粹从功能实现角度去构建。另外,我们尝试用中文来编写这个程序,因为类型运算中需要用到的操作符很少,类型本质上是一种对现实世界的描述,某种程度上算是一种业务描述语言,使用中文也挺好的。

zhuanlan.zhihu.com/p/426966480

How to Use Next.js Middleware

利用 Next.js 12 的 Middleware 和 Vercel Edge Function 可以做啥?作者给了一些例子,包括重定向、Rewriting、权限控制、访问统计、基于地理位置信息的访问过滤、基于当地时间的亮暗主题切换。

www.ctnicholas.dev/articles/ho…

🛠 工具、软件

Unwrap。

Unwrap 是一款开源的 Swift 应用程序,可以通过 100 节核心课程,或是运行代码进行实践,来更高效快速的学习 Swift。

github.com/twostraws/U…

一键配置开发环境——前端环境管理工具 AppToolkit 正式发布

mp.weixin.qq.com/s/phGAlrY7L…


周刊首发于GitHub,欢迎订阅:

我的周刊