ReactDnD:“不变违规:addComponentAsRefTo”错误

时间:2016-06-01 22:02:37

标签: reactjs react-rails react-dnd

亲爱的StackOverflow人员,

我正在尝试在React-Rails应用程序中实现拖放功能。但是,只要我将DragDropContext添加到顶级组件,我就会在浏览器控制台中看到此错误:

'react.self-0f0e88a ... .js?body = 1:1087未捕获错误:不变违规:addComponentAsRefTo(...):只有ReactOwner可以有refs。您可能正在向组件的render方法中未创建的组件添加引用,或者您有多个React加载的副本'

这是我目前应用的唯一代码:

var App = React.createClass({
    render: function() {
        return (
            <div>
                Hello
            </div>
        );
    }
});

Components.App = DnD.DragDropContext(HTML5Backend)(App);

添加这一行代码会导致我们所有的PhantomJS集成测试失败。任何帮助,将不胜感激。谢谢!

编辑:根据要求,这是我们的index.html.erb,我们渲染App。

<%= react_component 'Components.App' %>

1 个答案:

答案 0 :(得分:0)

在对反应版本进行了一些挖掘之后,我们发现我们实际上同时使用了两个版本的反应。一个隐藏在react-rails内,而另一个隐藏在我们的节点模块中。我们删除了&#39;要求&#34;做出反应&#34;&#39;来自我们的sprockets文件的声明,现在一切似乎都有效。