📒 相关文章推荐
重构 React 代码:减少 43% 代码并且数据结构更加清晰
https://profy.dev/article/react-junior-code-review-and-refactoring-1
使用 TypeScript 编写 React 组件
What and Why:Next.js 13 中的 React Server Components
Twix: 使用 Tailwind CSS 实现 React 组件样式
Deno v1.28 发布:现在有 130 万个新模块。Deno 现在正式支持以“稳定”的方式使用 npm 模块,并且不需要涉及 node_modules
、package.json
或 npm install
这些出现在 Node 中的内容
Wireit:升级 npm 脚本,使它们更智能、更高效
使用 WebAssembly 增强 Node.js
函数式编程到底有什么优点 — 本篇文章是由即将出版的 《Skeptic’s Guide to Functional Programming with JavaScript》的作者 James 以一种更容易理解的方式书写的函数式编程思想的文章,相信你读完本篇文章会大有收获
https://jrsinclair.com/articles/2022/whats-so-great-about-functional-programming-anyway/
用 Storyboook 和 Nightwatch 实践组件驱动开发
https://pineview.io/supercharge-your-storybook-with-nightwatch-testing/
tslog v4.0:支持 JS、TS 的日志输出库— 功能丰富,类型齐全,可以通过本机 V8 进行堆栈跟踪 API、显示代码框架等。现在支持 Node 和浏览器
📒 相关文章推荐
How to Create and Publish a React Component Library
How to Build a Rust CLI Tool to Generate Typescript Types from Rust
Build Micro frontends in NextJS and ReactJS with Webpack 5 Module Federation
Building React App with Module Federation and NextJS/React
📒 Next.js 相关内容
理解 Next.js 中的 CSR、SSR、SSG、ISR 以及 Streaming
Next.js 13 新增特性:
启用实验性
app
目录实现约定式路由,路由每个片段必须要有一个目录承载,内部包含一个page.tsx
作为主页面,还可以包含layout.tsx
作为该路由的公共导航,切换路由时,不会刷新app
目录下的组件默认启用 Server Component(当然也可用于 SSG 渲染),与传统的 SSR 不同,优点是拥有 流式 HTML 和选择性注水React Suspense API 解锁了 React 18 中的两个主要 SSR 功能:
- 在服务器上流式传输 HTML
要实现这个功能,需要从原来的方法切换
renderToString
切换到新renderToPipeableStream
方法 - 客户端的选择性注水作用
使用
hydrateRoot
代替createRoot
方法
- 在服务器上流式传输 HTML
要实现这个功能,需要从原来的方法切换
区分服务端组件和客户端组件
- Next.js 12 在
useEffect
、onChange
等回调函数可以在客户端执行(一般针对浏览器和 Node API 判断) - 在 Next13 中 , 在
app
目录下由于启用了 Server Component,无法使用 client-only 特性(例如useState
、useEffect
、createContext
),因此判断环境非常重要。如要使用useState
等状态管理的 hook,那么该组件只在客户端执行,需要在首行加入'use client'
指令
- Next.js 12 在
数据请求。Next.js 13 的
app
目录不再需要getStaticProps
、getServerSideProps
,而是默认启用了 Static Rendering(相当于 SSG),如果需要切换渲染模式,只需要修改fetch
的缓存策略:fetch('https://...'); // 默认 'force-cache',相当于 `getStaticProps`
fetch('https://...', { next: { revalidate: 10 } }); // 请求被缓存 10s,相当于 `getStaticProps` 加上 `revalidate` 参数
fetch('https://...', { cache: 'no-store' }); // 每次刷新都会重新请求,相当于 `getServerSideProps`获取数据之后可以直接用
use()
在服务端消费,渲染 UI。注意app
目录下的 Server Component 不能用useState
(虽然可以加上'use client'
改为客户端组件),Next.js 13 建议都在服务端调接口获取数据此外在 SSG 渲染中常用的
getStaticPaths
改为了generateStaticParams
参考:
https://beta.nextjs.org/docs/rendering/static-and-dynamic-rendering
https://beta.nextjs.org/docs/data-fetching/fetching
https://beta.nextjs.org/docs/upgrade-guide#dynamic-paths-getstaticpaths
一个 Next.js 13 的演示教程,里面讲了一个 use 导致的无限循环 bug
📒 React-query 相关文章
📒 Element Plus 组件库相关技术揭秘:7. 组件实现的基本流程及 Icon 组件的实现
📒 突破 etcd 限制!字节自研 K8s 存储 KubeBrain
📒 【综合笔试题】难度 3.5/5,常见序列 DP 题目及其优化思路
📒 前端食堂技术周刊第 60 期:TypeScript 4.9、Ant Design 5.0、用 vanilla-extract 编写高性能的 CSS
📒 MDH 前端周刊第 77 期:布局动画、Arrow JS、vanilla-extract、antd 5、dumi 2
📒 Go语言中常见100问题-#21 Inefficient slice initialization
📒 Go Time 第 256 期
https://changelog.com/gotime/256
📒 Google Go 风格指南