2016-03-28 3 views
1

Um eine reagieren Komponente zu machen, habe ich den folgenden CodeUncaught Typeerror: React.createClass ist keine Funktion

var React = require('react'); 

var RandomWords = React.createClass({ 
    render: function() { 
    return (
     <div > 
     <h4>Random words come here</h4> 
     </div> 
    ); 
    } 
}); 

module.exports =RandomWords; 

und dann nenne ich diese componnet im Stamm componnet mit diesem:

define(["./RandomWords","react", "react-dom"], 
    (React, ReactDOM) => { 

     var Root = React.createClass({ 
     render: function() { 
      return (
      <div > 
       <h1>Welcome to our game</h1> 
       <RandomWords/> 
       <UserInput/> 
       <Statistic/> 
      </div> 
     ); 
     } 
     }); 



     ReactDOM.render(
     React.createElement(Root, null), 
     document.getElementById('content') 
    ); 
}); 

aber es beschwert sich, dass:

Uncaught TypeError: React.createClass is not a function 

es scheint mir, es wegen define(["./RandomWords","react", "react-dom"] ist, aber ich weiß nicht wie ich das beheben kann?

+1

'npm i --save-dev' reagieren? –

+0

Keine Art von Fehler mit dieser bestimmten Komponente erhalten; Bist du sicher, dass es installiert ist? https://jsfiddle.net/ofbosj5g/ – markthethomas

+0

ja reagieren ist installiert und funktioniert einwandfrei –

Antwort

0

Ist das RequireJS? Sie geben drei Abhängigkeiten an, aber nur zwei. Das wird fehlschlagen, es sei denn, dasjenige, das Sie nicht verwenden, ist das letzte im Abhängigkeits-Array, weil die, die Sie an die Funktion übergeben, nicht übereinstimmen. Die Reihenfolge muss konsistent sein.

Der Weg ist nun, die React Variable, die in die Funktion übergeben wird RandomWords ist, ReactDOM ist React und ReactDOM wird nie injiziert.

Versuchen

define(["./RandomWords","react", "react-dom"], 
    (RandomWords, React, ReactDOM) => { 
Verwandte Themen