【问题标题】:ReactCSSTransitionGroup with React 0.14 and pretty Invariant Violation: addComponentAsRefTo(...)ReactCSSTransitionGroup 与 React 0.14 和相当不变的违规:addComponentAsRefTo(...)
【发布时间】:2016-03-02 21:00:37
【问题描述】:

嗯,我曾经用 ES3 语法在 ReactJS 中做一些工作。现在我正在尽最大努力使用 ES6,但我不能简单地使用 ReactCSSTransitionGroup,因为绝对疯狂的错误说

Invariant Violation: addComponentAsRefTo(...): 只有 ReactOwner 可以有 refs。这通常意味着您正在尝试将 ref 添加到没有所有者的组件(即不是在另一个组件的“渲染”方法中创建的)。尝试在一个新的顶级组件中渲染这个组件,该组件将保存 ref。

那是什么?

    import React from 'react';
    import ReactCSSTransitionGroup from 'react-addons-css-transition-group';

    render(){
     return <ReactCSSTransitionGroup transitionName={transitions}>
      <Content/>
    </ReactTransition> 
    }

【问题讨论】:

  • 你解决了吗?我正在经历类似的事情,“你以某种方式多次包含 React”的标准解释似乎不合适。
  • 看来我毕竟不是独一无二的雪花。我的方法如下。

标签: reactjs reactjs-flux


【解决方案1】:

我的问题是我在 webpack 配置中使用 external 设置来排除 reactreact-dom 以便我可以单独包含它们,但 react-addons-css-transition-group 似乎通过非标准引用 react路线,因此引用没有正确外部化。

我改变了在供应商包中使用 Webpack 的 vendor bundle 方法和 reactreact-domreact-addons-css-transition-group 的方法,这似乎对我有用。

【讨论】:

  • 你有没有弄清楚react-addons-css-transition-group 需要react 有什么问题?它仍然发生在 v15.4...
  • 已经有一段时间了,但我认为问题在于它使用了内部要求路径,因为它本身在 react 模块中。 require('react') 不行。我认为react-addons-css-transition-group 代码是在react 模块中提供的。 react-addons-css-transition-group 只是从反应中导出正确的位。我认为这是正确的。
猜你喜欢
  • 2015-07-18
  • 2016-11-13
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-07
  • 2017-02-27
相关资源
最近更新 更多