【发布时间】:2018-11-12 23:27:41
【问题描述】:
我遇到了新的 React、Webpack 项目的问题。浏览器控制台出现无法解决错误:“Uncaught TypeError: (0 , _react.createClass) is not a function”
你能帮帮我吗?
Opera 控制台截图
webpack.config.babel.js
import path from 'path';
export default {
mode: 'development', // development, production or none
entry: './assets/js/index.js',
output: {
path: path.resolve(__dirname, 'dist/js'),
filename: 'bundle.js',
sourceMapFilename: 'bundle.map'
},
// devtool: '#source-map',
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
loaders: ['babel-loader']
}]
}
};
.babelrc
{
"presets": [
"env",
"stage-0",
"react"
]
}
index.js
import { createClass } from 'react';
import { render } from 'react-dom';
const Note = createClass({
displayName: 'Note',
render() {
return (
<div className='TEST'>
Hello world
</div>
);
}
});
render(
<Note />,
document.body
);
Visual Studio 代码中的项目截图
package.json
{
"dependencies": {
"normalize.css": "^8.0.0",
"react": "^16.4.0",
"react-dom": "^16.4.0"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"eslint": "^4.19.1",
"eslint-plugin-react": "^7.8.2",
"path": "^0.12.7",
"webpack": "^4.10.2",
"webpack-cli": "^2.1.4"
},
"name": "notes",
"version": "0.0.1",
"description": "",
"main": "webpack.config.babel.js",
"scripts": {
"build": "webpack",
"watch": "webpack --watch",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Andrew Dyachenko",
"license": "ISC"
}
【问题讨论】:
-
发布你的 index.js
-
你使用的是什么版本的 React?
-
React 版本为:16.4.0
-
jsfiddle updated。您还缺少在没有导入的情况下包含资源的地方。