2016-09-23 4 views
0

Ich benutze create-react-app Befehl, um mein Projekt zu erstellen, es ist wirklich seltsam für mich, dass die Schaltfläche onClick nicht ausgelöst wird. Ich sehe diesen Fehler, die ich nieReact button onClick feuert nicht

invariant.js:38 Uncaught Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's "render" method, or you have multiple copies of React loaded

Nicht sicher gesehen vor, wenn dieser Fehler verursacht Schaltfläche klicken nicht feuern. Der Code ist sehr einfach und es funktioniert gut in anderen Projekten.

import React from 'react'; 

const MyComponent = React.createClass({ 
    myClick: function() { 
     alert("Hello World!"); 
    }, 

    render: function() { 
     return(
     <div> 
      <button onClick={this.myClick}>Click Me</button> 
     </div> 
    ); 
    } 
}); 

export default MyComponent; 
+0

es ist sehr wahrscheinlich, dass "Sie mehrere Kopien von React geladen haben". Wie sehen Ihr Paket und Ihr Projekt aus? – goldbullet

+0

package.json hat diese Abhängigkeiten: "devDependencies": { "reagieren-Skripte": "0.4.3" }, "Abhängigkeiten": { "reagieren": "^ 15.3.2", „lauten die Reaktionen dom ":"^15.3.2 ", " react-router ":"^2.8.1 " }, – ychui

+1

und wo ist diese Komponente montiert und wie? – goldbullet

Antwort

0

Fest. Zu Ihrer Information, es ist das Problem mit node_module, nicht reagieren. Ich benutze Bootstrap in meinem Projekt, irgendwie habe ich vergessen, Bootstrap npm zu installieren, und npm versucht, Bootstrap in meinem Root-Ordner Knotenmodule auf meinem Computer zu finden, verursacht dies diesen Fehler. Nach der Ausführung von "npm install react-bootstrap --save" und "npm install bootstrap @ 3 --save" funktioniert es.