【问题标题】:Can my project(react 15) use a dependency that using react 16?我的项目(react 15)可以使用使用 react 16 的依赖项吗?
【发布时间】:2018-02-15 17:28:46
【问题描述】:

使用 react 15 的项目能否依赖于使用 react 16 的包?

例如: 项目 A 使用 React 16 项目 B 使用 React 15 和项目 A,可以吗?

【问题讨论】:

  • 我建议阅读文档-reactjs.org/blog/2017/09/26/react-v16.0.htmlif your app runs in 15.6 without any warnings, it should work in 16
  • 我在一个 React 15 项目中尝试过这样做,发现两个不同的 React 实例似乎存在冲突,并且应用程序无法正确加载。我的猜测是这两个 React 实例将运行两个不同的虚拟 DOM 树,因此它们不会同步。您可能应该尝试加载旧版本的依赖项或将您的项目升级到 Fiber。
  • @Kunukn 没有回答我的问题。
  • 答案是“视情况而定”,取决于使用 16 的哪些特征(如错误边界)
  • 这完全取决于您的依赖项是如何安装的。您的依赖项中应该只有一个反应版本,否则您将遇到问题 - 应用程序将无法运行。

标签: reactjs


【解决方案1】:

简单的答案:不。项目 A 引入 React 16 作为需求,项目 B 引入 React 15 作为需求。不能加载两个不同的 react 实例,解决方法很简单;顶一下 Project B 的 React 依赖,或者让 React 成为 peerDependency 并支持 15 和 16。

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2018-11-02
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多