我是react.js的新手,我正在尝试使用此代码替换电子应用内的html文件中的一行,其中包含MainInterface变量中的任何内容
这是我的Render.js文件
var React = require('react');
var ReactDOM = require('react-dom');
var $ = jQuery = require('jquery');
var bootstrap = require('bootstrap');
//var createReactClass = require('create-react-class');
var MainInterface = React.createClass({
render: function() {
return(
<h1>SUCCESSSSSSSSSSS</h1>
);
}//render
});//MainInterface
ReactDOM.render(
<MainInterface />,
document.getElementById('projects')
);//render
这是html文件(想要替换WPM ...加载)(我确实在我的实际文件中有最后一个html标记)
> <!DOCTYPE html> <html lang ="en"> <head>
> <meta charset="utf-8">
> <meta name ="viewport" content="width=device-width, initial-scale=1.0">
> <meta http-equiv="X-UA-Compatible" content="ie=edge">
> <link rel="stylesheet" href="css/app.css">
> <title>Project Manager</title> </head> <body> <div claa="main">
> <div class="page" id="projectratings">
> <div id="projects">
> <h2>WPM ... loading</h2>
> </div>
> </div> </div> <script src="js/render.js"></script> </body>
这是我的package.json
{
"name": "ETest",
"version": "1.0.0",
"main": "app/main.js",
"devDependencies": {
"create-react-class": "^15.6.2",
"electron": "^1.7.8",
"electron-packager": "^9.1.0",
"gulp": "^3.9.1",
"gulp-browserify": "^0.5.1",
"gulp-concat-css": "^2.3.0",
"gulp-react": "^3.1.0",
"gulp-run": "^1.7.1",
"react": "^16.0.0",
"react-addons-test-utils": "^15.6.2",
"react-dom": "^16.0.0",
"reactify": "^1.1.1"
},
"dependencies": {
"bootstrap": "^3.3.7",
"electron-reload": "^1.2.2",
"jquery": "^3.2.1",
"lodash": "^4.17.4"
}
}
我已尝试安装creat-react-class并使用它(如在render.js文件中注释掉的行中所示)
我已经卸载并重新安装了react和react-dom
不确定我还缺少什么
继续
C:\Users\user\Desktop\ElectronTesting\process\js\fake_6052bf8b.js:8
Uncaught TypeError: React.createClass is not a function
我的render.js文件位于ElectronTesting \ process \ js \ render.js 不知道为什么它指向fake_6052bf8b.js我一直在假设某种类型的临时文件(如果我错了请纠正我)
感谢您的帮助。
**编辑只是一个简单的错误,忘了用createReactClass替换React.createClass,感谢代码示例让我终于看到了!!
答案 0 :(得分:20)
从版本16中删除了createClass
。
您可以使用create-react-class
轻松迁移,如反应文档中所示。
// Before (15.4 and below)
var React = require('react');
var Component = React.createClass({
mixins: [MixinA],
render() {
return <Child />;
}
});
// After (15.5)
var React = require('react');
var createReactClass = require('create-react-class');
var Component = createReactClass({
mixins: [MixinA],
render() {
return <Child />;
}
});
详细了解此https://reactjs.org/blog/2017/04/07/react-v15.5.0.html#migrating-from-reactcreateclass
答案 1 :(得分:2)
export default class App extends React.Component{
render() {
return(
<h1>its works</h1>
);
}
};
&#13;
这适用于我,通过导出React.component而不是使用React.createClass
来检查此ReactJs CreateClass is not a function答案 2 :(得分:0)
在最新版本的React中,您会注意到React.createClass已从库中删除。最大的变化之一是您可以使用JavaScript类创建React组件。