1

亲爱的 StackOverflow 的人们,

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

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

这是我目前拥有的应用程序的唯一代码:

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

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

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

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

<%= react_component 'Components.App' %>
4

1 回答 1

0

在深入研究了 react 版本之后,我们发现实际上我们同时使用了两个 react 版本。一个隐藏在 react-rails 中,另一个来自我们的节点模块。我们从 sprockets 文件中删除了 'require "react"' 语句,现在一切似乎都正常了。

于 2016-06-02T20:35:30.760 回答