我喜欢 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 时,你不会意外地破坏应用程序中的随机屏幕。
稳定而不停滞。请告诉我们进展如何!