Javascript React.createClass不是函数,可能是网页包编译错误
我使用webpack设置react envirement,并使用以下行运行代码:Javascript React.createClass不是函数,可能是网页包编译错误,javascript,reactjs,Javascript,Reactjs,我使用webpack设置react envirement,并使用以下行运行代码: webpack -d && webpack-dev-server --content-base src/ --inline --hot --port 1234 cmd运行一些构建,然后显示以下行: webpack: Compiled successfully. 而不是: webpack: bundle is now VALID 就像我在例子中看到的 然后在浏览器控制台上显示: Uncaught
webpack -d && webpack-dev-server --content-base src/ --inline --hot --port 1234
cmd运行一些构建,然后显示以下行:
webpack: Compiled successfully.
而不是:
webpack: bundle is now VALID
就像我在例子中看到的
然后在浏览器控制台上显示:
Uncaught TypeError: React.createClass is not a function
可能是什么
我的依赖项:
"dependencies": {
"react": "^16.0.0",
"react-dom": "^16.0.0"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"webpack": "^3.8.1",
"webpack-dev-server": "^2.9.4"
}
我的代码:
var React = require('react');
var ReactDOM = require('react-dom');
// Create component
var TodoComponent = React.createClass({
render: function () {
return(
<h1>Hello!!</h1>
);
}
});
// put component into html page
ReactDOM.render(<TodoComponent />, document.getElementById('todo-container'));
var React=require('React');
var ReactDOM=require('react-dom');
//创建组件
var TodoComponent=React.createClass({
渲染:函数(){
返回(
你好
);
}
});
//将组件放入html页面
ReactDOM.render(,document.getElementById('todo-container');
顺便说一下,这是我的第一个问题,
所以,请原谅我在开场白中的错误……) 在React的16.x版中,
React.createClass
已移动到其自己的名为CreateReact-class
的包中
此处的文档:
所以,您应该执行npm i create react类--save
然后调整代码:
var React = require('react');
var ReactDOM = require('react-dom');
var createClass = require('create-react-class');
// Create component
var TodoComponent = createClass({
render: function () {
return(
<h1>Hello!!</h1>
);
}
});
// put component into html page
ReactDOM.render(<TodoComponent />, document.getElementById('todo-container'));
var React = require('react');
var ReactDOM = require('react-dom');
// Create component
class TodoComponent extends React.Component {
render() {
return(
<h1>Hello!!</h1>
);
}
}
// put component into html page
ReactDOM.render(<TodoComponent />, document.getElementById('todo-container'));