gpt4 book ai didi

react-native - React Native React 的多个版本(使用钩子(Hook)时)

转载 作者:行者123 更新时间:2023-12-04 15:25:24 26 4
gpt4 key购买 nike

我已经了解了臭名昭著的 invalid hook call warning 的 3 个主要原因,并确定我的应用程序中有多个版本的 React。我已经通过这一步确认了这一点:

// Add this in node_modules/react-dom/index.js
window.React1 = require('react');

// Add this in your component file
require('react-dom');
window.React2 = require('react');
console.log(window.React1 === window.React2);

根据我的研究,我知道这可能是我拥有的依赖项将 react 列为依赖项而不是对等依赖项,并且有几种方法可以解决此问题。但是,我不知道如何找出导致问题的包。

网上有很多与react相关的解决方案(比如添加webpack别名),可惜不是react-native。我曾(可能是天真地)尝试用 module-resolver 添加一个别名到 babel.config.js,但这没有用:

plugins: [
[
'module-resolver',
{
alias: path.resolve('node_modules/react'),
},
],
]

最佳答案

想了很久才明白。问题是将 react-dom 库列为依赖项。我曾在某处读到过这样做以支持开玩笑测试,但我认为该建议已过时。

尽管这个错误是一个明显的转移注意力的错误,所以希望这可以帮助将来的人

关于react-native - React Native React 的多个版本(使用钩子(Hook)时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62349119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com