Javascript 为什么我的React TS组件库中的某些组件抛出缩小的React错误#321

Javascript 为什么我的React TS组件库中的某些组件抛出缩小的React错误#321,javascript,reactjs,typescript,webpack,Javascript,Reactjs,Typescript,Webpack,我正在用TypeScript和webpack构建一个React组件库,并在空白html页面上用webpack-service对其进行测试。现在奇怪的是,当我使用这样的组件时,每个组件都工作得非常好。但是,如果我想在另一个项目中使用它们(使用npm安装库),请参阅e。G使用CreateReact应用程序,一些用户抛出一个缩小的react错误#321。我不知道为什么会这样。此外,我看不到不工作组件中的图案 如果您想自己尝试一下:我刚刚查看了您的回购协议,我认为问题缩小了反应错误#321可能是因为将反

我正在用TypeScript和webpack构建一个React组件库,并在空白html页面上用
webpack-service
对其进行测试。现在奇怪的是,当我使用这样的组件时,每个组件都工作得非常好。但是,如果我想在另一个项目中使用它们(使用npm安装库),请参阅e。G使用CreateReact应用程序,一些用户抛出一个缩小的react错误#321。我不知道为什么会这样。此外,我看不到不工作组件中的图案


如果您想自己尝试一下:

我刚刚查看了您的回购协议,我认为问题
缩小了反应错误#321
可能是因为将
反应
/
反应dom
包含在构建库中。然后在消费项目后生成多个React实例

因此,为了修复此问题,您必须将
react
/
react dom
排除为外部dep,其中应包含在消耗库的父项目级别

//webpack.config.js
exports.module=[
//你的开发人员
// { ... },
//你的刺针
{
// ...
外部:{
反应:“反应”,
“react dom”:“react dom”
},
}
]

PS:完成上述步骤后,您可能会发现主捆绑包文件的大小也会显著减小:)

很可能您在另一个项目中有多个react lib副本。请参阅本指南: