var React = require('react'); module.exports=React.createClass({ render:function(){ return( <div> <h1> the list </h1> </div> )} })
当我运行上面的代码时,出现以下错误:
app.js:4 Uncaught TypeError: React.createClass is not a function
这是因为版本差异还是拼写错误?
package.json-I have included create-react-class as seen here but not in the bower.json file { "dependencies": { "browser-sync": "^2.18.13", "browserify": "^14.4.0", "create-react-class": "^15.6.2", "ejs": "^2.5.7", "express": "^4.16.0", "gulp": "^3.9.1", "gulp-live-server": "0.0.31", "react": "^16.0.0", "reactify": "^1.1.1", "vinyl-source-stream": "^1.1.0" } }
gulpfile.js-我是否在此文件中缺少某些依赖项
var gulp= require('gulp'); var LiveServer= require('gulp-live-server'); var browserSync=require('browser-sync'); var browserify = require('browserify'); var reactify= require('reactify'); var source = require('vinyl-source-stream'); gulp.task('live-server', function(){ var server= new LiveServer('server/main.js'); server.start(); }) gulp.task('bundle',function(){ return browserify({ entries:'app/main.jsx', debug:true, }) .transform(reactify) .bundle() .pipe(source('app.js')) .pipe(gulp.dest('./.tmp')) }) gulp.task('serve',['bundle','live-server'],function(){ browserSync.init(null,{ proxy: "http://localhost:7777", port:9001 }) })
而且我的main.jsx具有以下内容
var React = require('react'); var createReactClass = require('create-react-class'); var GroceryItemList=require('./components/GroceryItemsList.jsx'); React.render(<GroceryItemList/>,app);
groceryitems.jsx具有以下内容
var React = require('react'); var createReactClass = require('create-react-class'); module.exports=React.createReactClass({ render:function(){ return( <div> <h1> Grocery Listify </h1> </div> ) } })
当我添加createReactClass时,我得到一个错误:createReactClass不是一个函数,当我添加import和ES6语法时,我得到了’非法进口减速’谢谢,
纳文
根据文档,您需要获取npm create react class软件包。从项目文件路径的命令行,您需要执行npm install create-react-class --save,然后修改如下代码:
npm install create-react-class --save
var React = require('react'); //You need this npm package to do createReactClass var createReactClass = require('create-react-class'); module.exports=createReactClass({ render:function(){ return( <div> <h1> the list </h1> </div> ) }
您还需要React DOM来呈现这样的组件:
npm install react react-dom var ReactDOM = require('react-dom'); ReactDOM.render(<GroceryItemList/>,app);