亲爱的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' %>
答案 0 :(得分:0)
在对反应版本进行了一些挖掘之后,我们发现我们实际上同时使用了两个版本的反应。一个隐藏在react-rails内,而另一个隐藏在我们的节点模块中。我们删除了&#39;要求&#34;做出反应&#34;&#39;来自我们的sprockets文件的声明,现在一切似乎都有效。