【问题标题】:A react app inside a monorepo (lerna) package causing conflicting 'react' packagemonorepo (lerna) 包中的反应应用程序导致冲突的 \'react\' 包
【发布时间】:2022-10-17 17:47:45
【问题描述】:

我建立 :

  • 一个可重用的反应组件包,和
  • 用于测试组件的反应应用程序

它们都在一个monorepo(lerna)内。 问题是组件和应用程序的“反应”包被指向“不同的东西”,因此在组件内使用钩子会触发此错误: “只能在函数组件的主体内部调用挂钩”。

删除第二个“react”包目录会影响组件项目,因为它是一个符号链接(类似于组件项目的快捷方式)。 有什么办法可以解决我的问题吗?

【问题讨论】:

  • 如果你正在使用 webpack,你可以为 reactreact-dommy-react-app 中创建一个 alias,它指向 <path-to-my-react-app/node_modules/react 和类似的 react-dom
  • 我正在使用反应脚本并且不会弹出它。
  • 然后试试这个文档底部的内容:reactjs.org/warnings/invalid-hook-call-warning.html。将你的库中的反应链接到你的应用程序中的反应。

标签: reactjs npm monorepo lerna npm-package


【解决方案1】:
  1. 清理所有节点模块。
  2. 在反应组件中使用对等依赖项。

    l 使用那两个步骤解决monorepo中的版本冲突问题。 你可以试试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    相关资源
    最近更新 更多