webentwicklung-frage-antwort-db.com.de

"Nicht abgerufener TypeError: React.createClass ist keine Funktion" in der Render.js-Datei (Elektronen-App)

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 !!

3
Tavem

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

19
sbr

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

2
Francis Tito

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.

0
Sudabe-Neirizi