Polyscope——面向 Laravel 的以代理为先的开发环境

Inertia.js v3.0.0 版本发布,新增乐观更新、useHttp 等功能。

最后更新于 经过

Inertia.js v3.0.0 版本发布,包含乐观更新、useHttp 等更多功能(图片)。

Inertia.js v3.0.0 现已发布。 今年早些时候报道过测试版 最终版本包含了这些功能,以及在测试阶段积累的一系列修复和改进。此次发布涉及核心软件包和所有三个适配器(React、Vue 和 Svelte)。

主要亮点:

  • 内置的 XHR HTTP 客户端取代了 Axios,成为必需的依赖项。
  • 新的 useHttp 用于发起非导航 HTTP 请求的钩子
  • 路由器提供一流的乐观更新支持, useForm , 和 useHttp
  • 布局属性 API 取代了事件总线,并提供/注入了变通方案。
  • 现在 SSR 可以在 Vite 开发模式下运行,无需单独的服务器进程。

什么是新的

内置 XHR 客户端 — Axios 现已可选

Axios 不再是必需依赖项。Inertia 现在自带 XHR 客户端,默认情况下会从您的软件包中移除 Axios(压缩后约 15KB)。如果您依赖 Axios 拦截器或需要保留现有行为,Axios 仍然可以作为可选的对等依赖项使用。

qs 软件包已被移除。如果您的应用程序依赖于该软件包,请直接安装。

公关稿: #2833

useHttp

新的 useHttp 这个钩子弥补了长期以来在发送不触发页面导航的 HTTP 请求方面存在的不足。它返回响应式状态。 processing , errors , progress , 和 isDirty — 与 DX 相匹配 useForm 它还与 Precognition 2.x 集成,可进行实时验证。

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

此钩子适用于返回的路由 response()->json() , 不是 Inertia::render() 一个 withAllErrors 还支持一次性返回所有验证错误,而不是每个字段返回第一个错误。

公关稿: #2840 , #2880

乐观的最新消息

Inertia v3 为路由器增加了一流的乐观更新 API, useForm , 和 useHttp 更改会立即应用于页面状态,并在非 2xx 响应时自动回滚。只有在回调中显式定义的键才会被创建快照。系统也支持并发乐观更新——多个正在进行的请求各自携带自己的回滚快照。

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

<Form> 组件也获得了一个 optimistic 道具,以及两者 optimistictransform 回调函数现在具有通用类型推断功能。

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

公关稿: #2866 , #2898 , #2881

布局道具

useLayoutPropssetLayoutProps 为页面提供一种简洁的方式,使其能够将数据传递到布局中,而无需使用事件总线或 provide / inject 布局声明默认值;页面调用 setLayoutProps() 要覆盖它们。最终实现方式是将布局属性直接作为组件属性传递。

公关稿: #2859 , #3005

Vite 开发模式下的 SSR

SSR 现在在 npm run dev 无需运行单独的 Node.js 服务器进程。Vite 插件会自动处理,并且包含一个修复未样式化内容闪烁问题的方案。对于生产环境,工作流程保持不变: vite build && vite build --ssr , 然后 php artisan inertia:start-ssr

公关稿: #2864 , #2911

v3版本中会有更多内容

以下功能也包含在 v3.0.0 版本中。请参阅…… 官方文档升级指南 详情如下:

  • 即时访问#2907 — 在服务器响应之前,使用共享属性立即切换到目标页面组件;页面特定的属性会在服务器响应后合并。
  • createInertiaApp() 没有论证#2883 现在使用 Vite 插件时无需任何配置即可调用; layout 选项和 withApp 还添加了回调函数( #2884 , #2949
  • preserveFragment 选项#2897 , #2899 — 在重定向时保留 URL 片段,Laravel 适配器提供服务器端支持
  • preserveErrors 选项#2819 — 在部分重新加载期间保留验证错误
  • <Deferred> reloading 槽螺旋桨#2860 )— 组件在部分重新加载时不再重置;请使用新的插槽属性自行处理该状态。
  • HttpError 基类#2999 — 事件系统中 HTTP 异常的类型化基类
  • Popover API 进度条#2917 )—进度条使用浏览器的原生 Popover API 重写。
  • React 严格模式#2909 ) - 经过 strictMode: truecreateInertiaApp() 以便能够 React.StrictMode
  • Svelte 5 适配器#2677 — 使用符文语法重写;Svelte 4 已弃用
  • SharedPageProps 在事件和 createInertiaApp 类型#2956 )—共享属性现在已包含在 TypeScript 类型中,用于事件和应用程序设置

升级说明

这是一个重大版本更新,包含多项重大变更,包括更新的框架版本要求、移除 Axios、仅支持 ESM 输出以及多个 API 的重命名。请查看以下内容: 官方升级指南 升级前请查看完整列表。

升级步骤:

npm 安装 @inertiajs/vue3@^3.0 # 或 @inertiajs/react / @inertiajs/svelte
npm 安装 @inertiajs/vite@^3.0
作曲家 要求 inertiajs/inertia-laravel:^3.0

参考

保罗·雷德蒙德照片

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

归档于:
立方体

Laravel 时事通讯

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

图像
Laravel 云

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

访问 Laravel Cloud
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.js v3.0.0 版本发布,包含乐观更新、useHttp 等更多功能(图片)。

Inertia.js v3.0.0 版本发布,新增乐观更新、useHttp 等功能。

阅读文章
Laravel Boost v2.4.0 新增安全审计和 Laravel 最佳实践技能图片

Laravel Boost v2.4.0 新增安全审计和 Laravel 最佳实践技能

阅读文章
在 Laravel 镜像中构建事务安全的多文档操作

在 Laravel 中构建事务安全的多文档操作

阅读文章
使用 Laravel 构建 AI:使用 Laravel 13 的 AI SDK 镜像构建您的第一个代理

使用 Laravel 构建 AI:使用 Laravel 13 的 AI SDK 构建您的第一个代理

阅读文章
OG Kit:使用 HTML 和 CSS 生成动态 Open Graph 图像

OG Kit:使用 HTML 和 CSS 生成动态 Open Graph 图像

阅读文章
Prism Workers AI — 为 Prism PHP 图像提供 Cloudflare Workers AI 服务

Prism Workers AI — 为 Prism PHP 提供 Cloudflare Workers AI 服务

阅读文章