【问题标题】:Duplicate React after downloading npm package下载 npm 包后复制 React
【发布时间】:2021-02-16 08:22:47
【问题描述】:

我有一个 npm 包(我已发布),它会导致重复的 React 实例,因此会出现以下组件异常: “无效的钩子调用。钩子只能在函数组件的主体内部调用......”

我应该怎么做才能防止在下载此包的项目中发生此错误?

【问题讨论】:

  • 这听起来不像是重复的实例。听起来您在类组件中使用钩子,而您只能在功能组件中使用钩子。 reactjs.org/warnings/…
  • 感谢您的评论,但它是功能组件。可以看包源代码here。我知道这是重复的 React 实例,因为我运行 npm ls react 并看到了两个 React 实例。
  • 它在我创建的这个小吃中工作吗? snack.expo.io/@yoobit0616/slider
  • 我看到了,但仍然 - 我收到了几个问题(可以在存储库中看到),所以我创建了一个新项目并将其安装在那里,并且也收到了这个异常。
  • 非常感谢您愿意提供帮助。我发现了问题。如果您也想了解问题,可以查看我的答案:)

标签: reactjs react-native npm react-hooks


【解决方案1】:

编辑:以下答案与发布包而不是安装有关。

对于后代(和当前),以防您遇到相同的问题,这意味着您运行 npm ls react 并看到了 React 的 2 个不同实例。问题在于React 应该在peerDependencied 下的package.json 中,而不是dependencies 下。

你可以在网上找到很多关于它的信息,但我建议阅读这个article,因为它简化了主题并使其清晰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多