JavaScript/webpack/react:在库中使用refs失败



我有一个有趣的问题,我可以将我缩短为最小的用例。我已经为此创建了一个可重复的存储库,所以您不必说我的话:

这个想法就是这样。回购applib中有两个单独的项目。在库(/lib)中,我正在创建一个我希望被其他项目可用的React组件。从图书馆内部运行良好。然后,当我去将该库导入另一个项目(在这里,/app)时,它主要是有效的,除了我获得"唯一的Reactowner可能有参考"的警告:https://facebook.github.io/react/reaect/warnings/refs-rust-have-ander.html

显然很常见,他们为此完成了整个页面。

从该页面上告诉我,我要么在渲染方法之外创建参考文献(我检查了,我不是。而且,直接运行时的refs工作),要么:我正在导入两个版本的React。

只有库仅取决于它,我该如何导入两个版本的反应?WebPack打包在库中包装React,然后在应用程序中再次下载和包装吗?在这种情况下,我应该如何创建可重复使用的库?

感谢您的任何见解!

我刚刚对我的可重复使用者做了类似的事情。请参阅jms.reaeact.com。我没有使用WebPack,而是使用库中的项目中进行构建。来自我的package.json。

  "scripts": {
    "dist": "eslint src && babel src --out-dir dist"
  },
  "dependencies": {
    "lodash": "latest",
    "radium": "latest",
    "react": "latest",
    "react-dom": "latest",
    "screenfull": "latest"
  },
  "devDependencies": {
    "babel-cli": "latest",
    "babel-core": "latest",
    "babel-eslint": "latest",
    "babel-loader": "latest",
    "babel-preset-es2015": "latest",
    "babel-preset-react": "latest",
    "babel-preset-stage-0": "latest",
    "eslint": "latest",
    "eslint-loader": "latest",
    "eslint-plugin-babel": "latest",
    "eslint-plugin-react": "latest",
    "webpack": "latest"
  }

它似乎没有ESLINT,而且由于我碰巧使用它,所以我将其保存在脚本中。我从MX反应组件中借了模式。

相关内容

最新更新