簡體   English   中英

Render.js文件中的“未捕獲的TypeError:React.createClass不是函數”(電子應用程序)

[英]“Uncaught TypeError: React.createClass is not a function” in Render.js file (electron app)

我是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文件中注釋掉的行中所示)

我已經卸載並重新安裝了反應和反應

不知道我還缺少什么

只是繼續

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,感謝代碼示例,讓我終於看到了!!

React從版本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

 export default class App extends React.Component{ render() { return( <h1>its works</h1> ); } }; 

這對我有用 ,檢查這個ReactJs CreateClass不是一個函數,因此它通過導出React.component而不是使用React.createClass

在最新版本的React中,您會注意到React.createClass已從庫中刪除。 最大的變化之一是您可以使用JavaScript類創建React組件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM