为了制作反应组件,我使用了以下代码
var React = require('react');
var RandomWords = React.createClass({
render: function() {
return (
<div >
<h4>Random words come here</h4>
</div>
);
}
});
module.exports =RandomWords;
然后我使用以下命令在根组件中调用此组件:
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')
);
});
但它抱怨说:
Uncaught TypeError: React.createClass is not a function
在我看来,这是因为define(["./RandomWords","react", "react-dom"]
,但我不知道如何解决它?
答案 0 :(得分:0)
这是RequireJS吗?您指定了三个依赖项,但只使用两个。除非您不使用的那个是依赖项数组中的最后一个,否则将失败,因为传递给函数的那个将不匹配。订单必须一致。
现在的方式是,传递给函数的React
变量是RandomWords
,ReactDOM
是React
,ReactDOM
永远不会被注入。
尝试
define(["./RandomWords","react", "react-dom"],
(RandomWords, React, ReactDOM) => {