Next.js 13.4 发布,App Router 已稳定
Next.js 13.4 是一个基础更新版本,标志着 App Router 一达到稳定,可用于生产。
App Router(稳定)
自 6 个月前发布 Next.js 13 以来,团队一直专注于为 Next.js-App Router 的未来打下基础,以一种可以渐进式采用的方式,避免不必要的破坏性变化。随着 13.4 的发布,开发者现在可以开始在生产中使用 App Router 了。
今天将 App Router 标记为稳定并不意味着工作已经完成。稳定意味着 App Router 的核心已经为生产做好了准备,并且经过了我们自己的内部测试以及许多 Next.js 早期用户的验证。
在 2016 年发布 Next.js 时,Next.js 为 React 应用程序的服务器渲染提供了一种简单的方法,Next.js 的一些设计原则:
- 零设置,将文件系统作为一个 API 使用
- 只有 JavaScript,所有东西都是函数
- 自动服务器渲染和代码拆分
- 数据的获取由开发者决定
Turbopack (Beta)
Turbopack 是正在测试和稳定的新捆绑程序,它有助于在你开发 Next.js 应用程序(通过 next dev --turbo
)和不久后的生产构建( next build --turbo
)中加快本地迭代的速度。
自 Next.js 13 的 alpha 版本发布以来,随着努力修补错误和增加对缺失功能的支持,Turbopack 采用率在稳步增长,并收集了很多反馈和提高稳定性。现在 6 个月过去了,Turbopack 已经准备好进入测试阶段。
Turbopack 目前还没有完全与 webpack 和 Next.js 实现功能对等,不过现在应该可以支持大部分的使用情况了。我们在这个测试版中的目标是继续解决因采用率增加而产生的剩余错误,并为未来版本的稳定性做准备。
Server Actions (Alpha)
在 React 生态中,围绕着表单、管理表单状态以及数据的缓存和重新验证,已经有了很多创新和探索。
目前的解决方案要么是可重用的客户端解决方案,要么是内置于框架的基元。到目前为止,还没有一种方法可以将服务器变更(Mutations)和数据原语结合起来。React 团队一直在为变更的第一方解决方案而努力。
我们很高兴地宣布支持 Next.js 中的实验性 Server Actions,使你能够在服务器上变更数据,直接调用函数而不需要创建一个中间的 API 层。
// app/post/[id]/page.tsx import kv from './kv'; export default function Page({ params }) { async function increment() { 'use server'; await kv.incr(`post🆔${params.id}`); } return ( <form action={increment}> <button type="submit">Like</button> </form> ); }
有了 Server Actions,你就有了强大的服务器优先的数据变更,更少的客户端 JavaScript,以及逐步增强的表单。
// app/dashboard/posts/page.tsx import db from './db'; import { redirect } from 'next/navigation'; async function create(formData: FormData) { 'use server'; const post = await db.post.insert({ title: formData.get('title'), content: formData.get('content'), }); redirect(`/blog/${post.slug}`); } export default function Page() { return ( <form action={create}> <input type="text" name="title" /> <textarea name="content" /> <button type="submit">Submit</button> </form> ); }
其他改进
- Draft Mode(草稿模式):从你的 headless CMS 中获取并渲染草稿内容。草稿模式在
pages
和app
都可以使用。我们已经增强并简化了现有的 Preview Mode API(预览模式 API),它继续适用于pages
。预览模式在app
中不起作用 —— 你应该使用草稿模式。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CotEditor 4.5.5 发布,支持 Mojo 语法
CotEditor 是一个轻量级、简洁、但功能强大的文本编辑器,用于编辑纯文本文件,如网页 HTML、CSS),程序源代码(Python、Ruby、Perl 等),结构化文本(Markdown、Textile、Tex 等)或任何其他类型的纯文本。 CotEditor 4.5.5 正式发布,该版本更新内容如下: 系统要求 macOS 12 及以上版本 新功能 新增 Mojo 语法样式 修复 解决了 "保持在顶部" 功能在 Stage Manager(台前调度)模式下阻止所有窗口回到前台的问题。 修复了无效的样式名称可能被注册的问题 修复键绑定设置中的一个问题,即当前打开的文件在窗口菜单中被错误地列出 修复当根脚本文件夹只有文件夹时,编辑器中的上下文菜单不包含脚本菜单的问题 修复缺失的本地化 更多详情可查看:https://github.com/coteditor/CotEditor/releases/tag/4.5.5
- 下一篇
每日一博 | 详解事务模式和 Lua 脚本,带你吃透 Redis 事务
摘要:Redis事务包含两种模式:事务模式和Lua脚本。 本文分享自华为云社区《一文讲透 Redis 事务》,作者: 勇哥java实战分享。 准确的讲,Redis事务包含两种模式:事务模式和Lua脚本。 先说结论: Redis的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子性,但不支持回滚; 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。 但Lua脚本更具备实用场景,它是另一种形式的事务,他具备一定的原子性,但脚本报错的情况下,事务并不会回滚。Lua脚本可以保证隔离性,而且可以完美的支持后面的步骤依赖前面步骤的结果。 Lua脚本模式的身影几乎无处不在,比如分布式锁、延迟队列、抢红包等场景。 1 事务原理 Redis的事务包含如下命令: 事务包含三个阶段: 事务开启,使用 MULTI , 该命令标志着执行该命令的客户端从非事务状态切换至事务状态 ; 命令入队,MULTI 开启事务之后,客户端的命令并不会被立即执行,而是放入一个事务队列 ; 执行事务或者丢弃。如果收到 EXEC 的命令,事务队列里的命令将会被执行 ,如果是...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果