gpt4 book ai didi

ReactJs CreateClass 不是一个函数

转载 作者:行者123 更新时间:2023-12-03 12:56:25 25 4
gpt4 key购买 nike

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 语法时,出现“非法导入减速”谢谢,

纳文

最佳答案

这肯定是版本问题,如果您是新手,我建议您通过扩展 React.Component 而不是使用 创建一个 React 组件 React.createClass16.0 版本起已弃用,并已移至单独的包'create-react-class',@Dream_Cap 也提到了

还可以使用 ES6 语法进行导入。您可以将代码修改为

import React from 'react';

export default class App extends React.Component {
render(){
return(
<div>
<h1> the list </h1>
</div>
)
}
}

关于ReactJs CreateClass 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46482433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com