React Router Logo
2022年3月31日

React Router v6.3.0

Ryan Florence
联合创始人

我非常喜欢Ember.js社区的这句话

稳定而不停滞

很多时候,您必须在稳定性和停滞之间做出权衡:使软件包更好但破坏所有人的应用程序,或者保持 API 稳定但永远不会发布一个从根本上更好的软件包。

由于 React Hooks,React Router v6 是我们迄今为止最好的版本:更好的组合、更多功能、更简单的 API 和更小的包!但是,将成熟的应用程序从 v5 一次性升级到 v6 会对您的项目造成过大的破坏 😞。

这就是我们为 React Router DOM 发布向后兼容软件包的原因。它允许您并行运行新的 v6 API 和您现有的 v5 代码,从而使您能够**逐步升级**。结果是一系列像这样的微小提交

+ import { useParams } from "react-router-dom-v5-compat";

  function Project(props) {
-    const { params } = props.match;
+    const { params } = useParams();
     // ...
  }

更改一行代码,提交并发布。重复此操作直到完成。没有长期运行的升级分支;没有巨大的时间投入。您可以偶尔花一个小时进行升级,而不会影响路线图上的功能开发(或者成为团队的合并冲突导师 😆)。

您的 v5 代码没有任何变化(您甚至不需要更改 package.json 中的 react-router-dom 依赖项),因此,在您逐步升级到 v6 API 时,您可以确信不会意外地破坏应用程序中的随机屏幕。

👉 查看完整的 v5 到 v6 升级指南

稳定而不停滞。请告诉我们您的升级情况!


获取 Remix 最新消息的更新

抢先了解 Remix 的新功能、社区活动和教程。