Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/Webpack/React:在库中使用引用失败_Javascript_Reactjs_Webpack - Fatal编程技术网

Javascript/Webpack/React:在库中使用引用失败

Javascript/Webpack/React:在库中使用引用失败,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,我有一个有趣的问题,我已经减少到最小的用例,我可以。我已经为此创建了一个可复制的回购协议,所以你不必相信我的话: 想法是这样的。回购协议中有两个独立的项目,app和lib。在库(/lib)中,我正在创建一个React组件,希望其他项目可以使用它。在图书馆里工作很好。然后,当我将该库导入到另一个项目中(此处,/app)时,它基本上可以正常工作,但我得到了此处详述的“仅ReactOwner可能有引用”警告: 显然,他们为这本书写了一整页已经够普遍的了 从该页面中,它告诉我,我正在渲染方法之外创建引用

我有一个有趣的问题,我已经减少到最小的用例,我可以。我已经为此创建了一个可复制的回购协议,所以你不必相信我的话:

想法是这样的。回购协议中有两个独立的项目,
app
lib
。在库(
/lib
)中,我正在创建一个React组件,希望其他项目可以使用它。在图书馆里工作很好。然后,当我将该库导入到另一个项目中(此处,
/app
)时,它基本上可以正常工作,但我得到了此处详述的“仅ReactOwner可能有引用”警告:

显然,他们为这本书写了一整页已经够普遍的了

从该页面中,它告诉我,我正在渲染方法之外创建引用(我选中了,但没有。而且,直接运行引用时,引用可以工作),或者:我正在导入两个版本的React

当只有库依赖React时,如何导入它的两个版本?网页包是否在库中打包,然后在应用程序中下载并重新打包?在这种情况下,我应该如何创建一个可重用的库


谢谢你的洞察力

我只是对我的可重用性做了类似的事情。看见我没有使用webpack,构建发生在使用库的项目中。从my package.json

“脚本”:{
“dist”:“eslint src&&babel src--out dir dist”
},
“依赖项”:{
“lodash”:“最新”,
“镭”:“最新”,
“反应”:“最新”,
“react dom”:“最新”,
“屏幕完整”:“最新”
},
“依赖性”:{
“babel cli”:“最新”,
“巴别塔核心”:“最新”,
“babel eslint”:“最新”,
“巴别塔加载器”:“最新”,
“babel-preset-es2015”:“最新”,
“巴别塔预设反应”:“最新”,
“babel-preset-stage-0”:“最新”,
“eslint”:“最新”,
“eslint加载程序”:“最新”,
“eslint插件巴别塔”:“最新”,
“eslint插件反应”:“最新”,
“网页包”:“最新”

}
Hmm很有趣。如何从正在使用它的应用程序调用库中的组件?从“jms react components”导入{JButton};