2016-06-01 34 views
1

Liebe Leute von Stackoverflow,ReactDnD: "Invariant Verletzung: addComponentAsRefTo" Fehler

ich Drag umzusetzen versuchen und Drop Funktionalität in einem App React-Rails. Sobald ich jedoch den DragDropContext der Komponente der obersten Ebene hinzufüge, sehe ich diesen Fehler in der Browser-Konsole:

'react.self-0f0e88a ... .js? Body = 1: 1087 Uncaught Fehler: Invariant Verletzung: addComponentAsRefTo (...): Nur ein ReactOwner kann Refs haben. Sie könnten eine ref an eine Komponente das Hinzufügen, die nicht innerhalb einer Komponente render Methode erstellt wurde, oder Sie haben mehrere Kopien geladen React‘

Dies ist der einzige Code, den ich zur Zeit für die App haben:

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

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

Das Hinzufügen dieser Codezeile führt dazu, dass alle unsere PhantomJS-Integrationstests fehlschlagen. Jede Hilfe wäre willkommen. Vielen Dank!

Edit: Wie gewünscht, hier ist unsere index.html.erb wo wir App rendern.

<%= react_component 'Components.App' %> 
+1

Können Sie uns mehr Informationen darüber geben, wie Sie die Components.App dann verwenden? –

+0

Ich habe der Frage weitere Details hinzugefügt. –

Antwort

0

Nach ein wenig graben in die react-Version, haben wir entdeckt, dass wir tatsächlich zwei Versionen der Reaktion zur gleichen Zeit verwendet haben. Einer war in den React-Rails versteckt, der andere war von unseren Node-Modulen. Wir haben die 'require'-Anweisung aus unserer Ketten-Datei entfernt und alles scheint jetzt zu funktionieren.

+0

Meinst du es aus 'application.js' entfernen? Wie benötigen Sie dann Reagieren? Benutzt du auch Browserify? –