Remix 1.9 发布,全栈框架
Remix 是一个由 React Router 开发团队所开发的基于 React 和 Node 的全栈框架,以解决开发者在用 React 开发时面临的一些棘手问题。
Remix 1.9 发布,更新内容如下:
支持 React Router 的可选路由段
我们在 React Router 6.5.0 的最新次要版本中支持可选路由段,现在 Remix 也支持它们。为此,我们为文件系统路由引入了一个新的约定。
由括号包围的路由文件名将被转换为 React Router 的可选段。例如, /($lang)/about
将被转换为 /:lang?/about
。
这意味着 /($lang)/about
将匹配:
/en/about /fr/about /about <-- $lang is optional!
增加对新 TypeScript 语法的支持
Remix 编译器现在支持新的 TypeScript 4.9 语法。在最新的 TypeScript 版本中,有几个很酷的功能。
我们最喜欢的功能之一是 satisfies
关键字,它可以让你验证一个表达式是否符合给定的类型 —— 而不改变该表达式的结果类型。
// this example comes from the TypeScript 4.9 release notestype Colors = "red" | "green" | "blue";type RGB = [red: number, green: number, blue: number];const palette = { red: [255, 0, 0], green: "#00ff00", bleu: [0, 0, 255]// ~~~~ The typo is now caught!} satisfies Record<Colors, string | RGB>;// Both of these methods are still accessible!const redComponent = palette.red.at(0);const greenNormalized = palette.green.toUpperCase();
路由性能提升
有时候,你可以从微小的变化中获得巨大的收益。我们对 defineConventionalRoutes
中的查找算法进行了调整。
在一个较大的、现实的项目(约 700 条路由)的生产构建的本地运行中:
- 以前:10-15 秒
- 现在:1 秒,10 倍的速度提升
错误修复:Firefox 和 <LiveReload>
修复了 Firefox 中 <LiveReload>
的一个问题,该问题导致页面在更改后无限地重新加载。
本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。