0

我用故事书制作了一个项目,在其中添加了一些组件。当我尝试在另一个项目中使用这些组件时出现错误

未捕获的错误:addComponentAsRefTo(...):只有 ReactOwner 可以有 refs。您可能正在向未在组件render方法中创建的组件添加 ref,或者您加载了多个 React 副本。

我将故事书构建为

"build": "babel components --out-dir dist-es6 --source-maps inline",

我的 .babelrc 看起来像这样:

{
"presets": [
  "es2015",  // whichever presets your projects use should match here
  "stage-0",
  "react"
],
"plugins": [
  "transform-runtime", // for polyfills
  "transform-react-remove-prop-types" // we use this to remove the propTypes
]}

我使用 index.js 文件导出我的组件,如下所示:

export { default as DateFilter } from './DateFilter';

我包括组件:

import { DateFilter } from 'storybook/dist-es6';

我在故事书中做了一个 nmp 链接,以便在我的项目中使用它。我可以看到该组件,但它因未捕获的错误而失败。

该怎么办?

4

1 回答 1

0

问题是故事书和 nwb 组合的问题。故事书和我的项目都使用了反应,所以我需要忽略故事书使用的反应。

这已添加到 nwb.config.js 文件中

aliases: {
   react: path.resolve('./node_modules/react'),
   'react-dom': path.resolve('./node_modules/react-dom'),
   'prop-types': path.resolve('./node_modules/prop-types')
 },

最后我实际上删除了 nwb :)

于 2017-09-11T07:56:25.267 回答