Ich bin neu bei reag.js und versuche, diesen Code zu erhalten, um eine Zeile in einer HTML-Datei in einer Elektron-App durch das zu ersetzen, was in der MainInterface-Variablen zurückgegeben wird
Dies ist meine Render.js-Datei
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
Dies ist die HTML-Datei (zum Ersetzen von WPM ... Laden) (Ich habe das letzte HTML-Tag, das hier in meiner aktuellen Datei fehlt)
> <!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>
Das ist mein 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"
}
}
Ich habe versucht, Creat-React-Klasse zu installieren und zu verwenden (wie in der Zeile dargestellt, die in der Datei render.js auskommentiert ist).
Ich habe sowohl reaea als auch react-dom deinstalliert und neu installiert
ich weiß nicht, was mir noch fehlt
immer weiter bekommen
C:\Users\user\Desktop\ElectronTesting\process\js\fake_6052bf8b.js:8
Uncaught TypeError: React.createClass is not a function
meine render.js-Datei befindet sich unter ElectronTesting\process\js\render.js Ich weiß nicht, warum sie auf fake_6052bf8b.js verweist. Ich gehe davon aus, dass es sich um eine Art temporäre Datei handelt.
Vielen Dank für jede Hilfe.
** BEARBEITEN yep nur ein einfacher Fehler, ich habe vergessen, React.createClass durch createReactClass zu ersetzen, danke für das Codebeispiel, durch das ich es endlich gesehen habe !!
Reaktion entfernt createClass
von Version 16. Sie können create-react-class
verwenden, um die Migration wie in der Reaktordokumentation gezeigt durchzuführen.
// 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 />;
}
});
lesen Sie mehr dazu https://reactjs.org/blog/2017/04/07/react-v15.5.0.html#migrating-from-reactcreateclass
export default class App extends React.Component{
render() {
return(
<h1>its works</h1>
);
}
};
das funktioniert für mich, checkout this ReactJs CreateClass ist keine Funktion daher exportiert sie ihre React.component anstelle von React.createClass
In der neuesten Version von React werden Sie feststellen, dass React.createClass aus der Bibliothek entfernt wurde. Eine der größten Änderungen besteht darin, dass Sie mit JavaScript-Klassen React-Komponenten erstellen können.