使用 Next.js 创建 Web 应用

在使用 Express 创建 Web 服务中,我们使用 Express 创建了一个 ToDo 的 Web 服务。使用 Express 时,我们需要自己处理模板(HTML)、样式(CSS)、脚本(JavaScript)、路由、错误处理等等。而 Next.js 框架已经提供了上面的这些功能,我们只要专注于业务实现。这篇文章我们将使用 Next.js 创建 Web 应用,看看它能否帮助快速开发。

Learn Next.js

我之前使用 Express 创建了一个 ToDo 的 Web 应用,今天我们来学习一下 Next.js,一个出色的全栈框架

Jotai

Jotai 是 Poimandres 团队开发的第三个状态管理库。Zustand 和 Valtio 以数据为中心,而 Jotai 以 React 组件为中心。React 通过很多小组件构建大的应用程序,同样 Jotai 通过很多小的原子状态构建整个应用状态。Jotai 的核心 API 很简单,就像在使用 useState 一样,但是 Jotai 提供了大量的工具和扩展来增强 Jotai 的能力。

Valtio

Valtio 是另一个 React 状态管理的库,和 Zustand 一样出自 Poimandres 团队。虽然 Zustand 比 Redux 更简单,减少了样板代码,但是 Zustand 的设计理念还是和 Redux 很相似的,都不能直接修改 state 值而是通过 action 来修改。而 Valtio 的设计理念完全不同,通过 Proxy 可以直接修改 state 并且在更新时进行细粒度的订阅和响应,这一点 Valtio 有点类似于 Pinia。

Zustand

Zustand 是一个 React 状态管理的库,它比 Redux 更简单、更轻便、更灵活,使用起来就像在用 React hook 一样,没有 Redux 那么多的样板代码。

Immutability in React

React 要求不能修改 state 的引用类型属性本身的内容,而是通过 setState 设置一个新值。本文通过 Javascript、Immer 来实现 Object、Array 的不可变性。