大规模代码审查存在缺陷。Augment Code 正在解决这个问题。

Inertia v3 Beta 版现已推出

最后更新于 经过

Inertia v3 Beta 版图片已发布

Inertia v3 beta 是一个重要的预发布版本,它包含一个内置的 XHR HTTP 客户端,以及一项新的功能。 useHttp 为独立 HTTP 请求提供钩子,支持路由器和表单 API 的乐观更新、即时访问等功能。

  • 内置 XHR HTTP 客户端;Axios 现在是可选的对等依赖项。
  • 新的 useHttp 用于独立 HTTP 请求的钩子
  • 乐观的最新消息 router , useForm , 和 useHttp
  • 即时访问
  • Vite 开发模式下的 SSR 支持,设置更简便
  • 布局属性助手和 layout 选项 createInertiaApp()
  • 和更多

以下是 Joe Tannenbaum 在 Laracon EU 2026 上介绍 Inertia v3 的完整演讲内容:

什么是新的

内置 XHR HTTP 客户端

Inertia 现在自带基于 XHR 的 HTTP 客户端,因此 Axios 不再是必需的,而是一个可选的对等依赖项。不需要 Axios 的应用程序可以完全移除它;而需要使用 Axios 的应用程序可以通过将其作为对等依赖项安装来继续使用它:

进口 { axiosAdapter } '@inertiajs/core'
创建惯性应用程序 ({
// ...
http: axiosAdapter (),
})

公关稿: #2833

useHttp 独立HTTP请求的钩子

新的 useHttp hook 允许您在 Inertia 访问系统之外发出 HTTP 请求。它提供与 Inertia 访问系统相同的开发者体验。 useForm - 包括 processing , errors , progress , 和 isDirty 状态——但返回响应数据,而不是触发页面导航。它支持 withAllErrors 用于显示所有验证错误,而不仅仅是第一个错误。

常量 http = 使用HTTP ({
询问: “” ,
})
常量 搜索 = () => {
http。 得到 '/api/search' )。 然后 (( 结果 => {
安慰。 日志 '成立:' , 结果。 长度
})
}

PR: #2840 , #2880

乐观的最新消息

已全面添加乐观更新支持 router , useForm , 和 useHttp 包括对并发乐观更新的支持。更新回调函数接收当前 props 并返回乐观状态以立即应用,并在验证错误、服务器错误或访问中断时自动回滚。

该路由器同时支持流畅式 API 和内联选项:

// 流利
路由器
乐观的 (( 道具 => ({
全部: [ ... props.todos,{ id: 日期 现在 (), 名称, 完成: 错误的 }],
}))
邮政 '/全部' , { 姓名 })
// 内联选项
路由器。 邮政 '/全部' , { 姓名 }, {
乐观的 :( 道具 => ({
全部: [ ... props.todos,{ id: 日期 现在 (), 名称, 完成: 错误的 }],
}),
})

useForm hook 的工作方式相同:

常量 形式 = 使用表格 ({ 姓名: “” })
常量 添加待办事项 = () => {
形式
乐观的 (( 道具 => ({
全部: [ ... props.todos,{ id: 日期 现在 (), name: form.name, done: 错误的 }],
}))
邮政 '/全部'
}

<Form> 组件也获得了一个 optimistic 用于声明式处理的属性。

PR: #2866 , #2898 , #2881

即时访问

即时访问功能允许在服务器响应完成之前渲染目标页面,从而使导航感觉更加即时。

公关稿: #2907

URL片段保留

一个新的服务器端 preserveFragment 此选项可在重定向后保持 URL 哈希片段不变。在 Laravel 中,链式调用 preserveFragment() 重定向响应:

返回 重定向 '/users' -> 保留片段 ();

当服务器包含 preserveFragment: true 在 Inertia 页面对象中,即使响应 URL 不同,客户端也会保留原始请求的 URL 片段。此外,还添加了对哈希片段重定向的支持。

PR: #2897 , #2899

preserveErrors 部分请求选项

A preserveErrors 新增了一个选项,用于在发出部分请求时保留现有的验证错误,防止仅刷新页面的一部分时清除错误。

公关稿: #2819

Vite 开发模式下的 SSR 支持

Inertia 现在支持在 Vite 开发模式下使用 SSR,并简化了设置,从而消除了 SSR 开发工作流程中的摩擦。

公关稿: #2864

使用 Popover API 重写了进度条

进度条的实现已重写,使用浏览器的原生 Popover API,取代了之前的方法。

公关稿: #2917

布局属性助手和 layout 选项 createInertiaApp()

新增了布局属性辅助函数,以改进布局数据的组织和传递方式。 layout 现在可以直接选择 createInertiaApp() 而且,该函数也可以不带参数调用。

PR: #2859 , #2884 , #2883

strictMode React选项

React 的 createInertiaApp 获得 strictMode 可以选择启用 React 的严格模式渲染。 setup 未提供此选项,启用此选项会将应用程序包装在 React 中。 <StrictMode> 当使用自定义 setup 函数,手动封装组件。

创建惯性应用程序 ({
严格模式: 真的 ,
// ...
})

公关稿: #2909

reloading 插槽道具 <Deferred>

<Deferred> 组件现在公开了一个 reloading 插槽属性,允许您在通过部分重新加载刷新延迟内容时显示加载指示器。与此不同的是 fallback 插槽中,现有内容在重新加载期间仍然可见——只有 reloading 状态发生变化。

<延迟数据="users">
< 模板 # 倒退 >
< 跨度 >正在加载...</ 跨度 >
</ 模板 >
< 模板 # 默认 = {重新加载} >
< 跨度 v-if = 重新装弹 >正在加载...</ 跨度 >
< div v-for = 用户 用户 : 钥匙 = 用户身份 >
{{ 用户名 }}
</ div >
</ 模板 >
</ 延期 >

公关稿: #2860

通用名 <Form> 成分

<Form> 组件现在支持 TypeScript 泛型,以改进表单数据的类型推断。

公关稿: #2849

onHttpException 服务器端渲染错误页面

服务器渲染的 Inertia 错误页面现在会触发 onHttpException 事件,为您提供一个一致的地方来处理 HTTP 异常,无论它们是如何呈现的。

公关稿: #2927

重大变化

这是一个测试版,包含重大变更。升级前请仔细阅读这些变更。

已放弃框架支持:

  • React v19 以下版本已不再支持( #2712
  • Svelte 4 已不再受支持;需要 Svelte 5( #2713

Node.js: 最低 Node.js 版本现在为 v24( #2847

仅限ESM: CommonJS 构建已被弃用。Inertia 现在仅提供 ESM 输出( #2873

Axios: Axios 不再是必需的依赖项。如果您的应用程序使用它,请手动将其作为对等依赖项安装( #2833

已移除导出项: hideProgress()revealProgress() 已移除( #2852

重命名配置: useDataElementForInitialPage 已更名为 useDataAttributeForInitialPage 旧版选项已被移除( #2871 , #2887

更名后的事件:invalidexception 事件已重命名;已添加访问回调( #2869

resolve() 签名:resolve 功能于 createInertiaApp() 现在接收完整的页面对象作为可选的第二个参数,使解析器能够访问 props、URL、版本和其他页面上下文( #2485 ):

// 前
解决 :( 姓名 => resolvePageComponent (姓名, 进口 全球 './Pages/**/*.vue' )),
// 后
解决 :( 姓名 , => resolvePageComponent (姓名, 进口 全球 './Pages/**/*.vue' )),

useForm 行为: processingprogress 现在只能重置 onFinish 而不是在生命周期的早期( #2838


这是一个测试版,不建议用于生产环境。升级前,请参阅完整的更新日志以获取所有更改内容。

参考

保罗·雷德蒙德照片

Laravel News 特约撰稿人。全栈 Web 开发人员兼作家。

归档于:
立方体

Laravel 时事通讯

加入超过 4 万名开发者的行列,不错过任何新的技巧、教程等内容。

图像
SerpApi

适用于您的 LLM 和 AI 应用的 Web 搜索 API

访问 SerpApi
银行标志

银行

只需每月 3200 美元,即可聘请一位拥有 4-6 年经验的资深 Laravel 开发人员,为您的项目注入强劲动力。您将获得 160 小时的专属专业服务,并享受 15 天无风险试用。立即预约通话!

银行
Tinkerwell 徽标

廷克威尔

Laravel 开发者必备的代码运行器。可在本地和生产环境中体验 AI、自动补全和即时反馈功能。

廷克威尔
几天内即可获得 Laravel 代码审查徽标的专家指导

几天内即可获得 Laravel 代码审查方面的专家指导

专家级代码审查!两位拥有 10 年以上 Laravel 开发经验的开发者将为您提供清晰、实用的反馈,帮助团队构建更优质的应用程序。

几天内即可获得 Laravel 代码审查方面的专家指导
PhpStorm 标志

PhpStorm

首选的 PHP IDE,对 Laravel 及其生态系统提供广泛的开箱即用支持。

PhpStorm
Laravel Cloud 标志

Laravel 云

轻松创建和管理服务器,并在几秒钟内部署 Laravel 应用程序。

Laravel 云
了解 Softtech 的标志

了解软科技

Acquaint Softtech 提供 AI 就绪的 Laravel 开发人员,48 小时内即可上手,每月费用为 3000 美元,没有冗长的销售流程,并提供 100% 退款保证。

了解软科技
Kirschbaum 标志

樱桃树

提供创新和稳定性,确保您的Web应用程序取得成功。

樱桃树
Shift 标志

转移

还在运行旧版本的 Laravel?立即实现 Laravel 自动升级和代码现代化,让您的应用程序保持最新状态。

转移
鱼叉:新一代时间跟踪和发票标志

Harpoon:新一代时间跟踪和发票系统

新一代时间跟踪和计费软件,帮助您的机构规划和预测盈利的未来。

Harpoon:新一代时间跟踪和发票系统
Lucky Media 标志

幸运传媒

Get Lucky Now——拥有十余年经验的 Laravel 开发理想之选!

幸运传媒
SaaSykit:Laravel SaaS 入门套件徽标

SaaSykit:Laravel SaaS 入门套件

SaaSykit 是一个多租户 Laravel SaaS 入门套件,包含运行现代 SaaS 所需的所有功能,例如支付、美观的结账界面、管理面板、用户仪表盘、身份验证、现成组件、统计数据、博客、文档等等。

SaaSykit:Laravel SaaS 入门套件
Inertia v3 Beta 版图片已发布

Inertia v3 Beta 版现已推出

阅读文章
Polyscope 是一个以 AI 为先的开发环境,用于编排代理镜像。

Polyscope 是一个以人工智能为先导的开发环境,用于编排代理程序。

阅读文章
Filament v5.3.0 发布,新增延迟标签徽章和列管理器改进功能(图片)

Filament v5.3.0 发布,新增延迟标签徽章和列管理器改进功能

阅读文章
Ward:一款用于 Laravel 镜像的安全扫描器

Ward:一款 Laravel 安全扫描器

阅读文章
Kit:一个面向 Laravel 图像的、带有特定风格的 API 入门套件

Kit:一个面向 Laravel 的、带有明确设计思路的 API 入门套件

阅读文章
Livewire v4.2.0 发布,增强了安全性并支持 Laravel 13 镜像

Livewire v4.2.0 发布,增强了安全性并支持 Laravel 13。

阅读文章