我非常喜欢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 时,您可以确信不会意外地破坏应用程序中的随机屏幕。
稳定而不停滞。请告诉我们您的升级情况!