javascript - Uncaught ReferenceError : createReactClass is not defined

标签 javascript reactjs react-redux

我遵循有关 ReactJS 使用 watchifybabelify 的教程。我使用 react@16 版本并且我知道 React.createReactClass 已被弃用。我需要临时修复以摆脱 Uncaught ReferenceError: createReactClass is not defined 错误。

我已经安装了 create-react-class 包。我的 package.json 是:

{
  "main": "index.js",
  "scripts": {
    "build": "watchify src/app.js  -o public/bundle.js -t [ babelify --presets [ react es2015 ] ]",
    "server": "cd public; live-server --port=1234 --entry-file=index.html"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-preset-react": "^6.24.1",
    "babelify": "^8.0.0",
    "live-server": "^1.2.0",
    "watchify": "^3.9.0"
  },
  "devDependencies": {
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-3": "^6.24.1",
    "create-react-class": "^15.6.2",
    "react": "16.0.0",
    "react-dom": "16.0.0",
    "react-scripts": "1.0.16"
  }
} 

我的 app.js

const Sidebar =  createReactClass({
  render(){
    let props = this.props;

    return (<div className='sidebar'>
      <h2> All Decks </h2>
      <ul>
      {props.decs.map((deck, i)=> 
        <li key={i}> {deck.name}</li>
      )}
      </ul>
      { props.addingDeck && <input ref='add'/> }
    </div>);
  }
});
ReactDOM.render(<App>
  <Sidebar decks={[ { name: 'Deck 1' }]} addingDeck={false} />
</App>, document.getElementById('root'));

如何让 createReactClass 工作? 谢谢

编辑:我无法使用“var createReactClass = require('create-react-class');”导入。可能是文件不是 jsx 文件。

最佳答案

对于有状态组件,您希望从 React 扩展 Component 类...

import React, {Component} from 'react'
class Sidebar extends Component {
  render(){
    let props = this.props;

    return (<div className='sidebar'>
      <h2> All Decks </h2>
      <ul>
      {props.decs.map((deck, i)=> 
        <li key={i}> {deck.name}</li>
      )}
      </ul>
      { props.addingDeck && <input ref='add'/> }
    </div>);
  }
});
ReactDOM.render(<App>
  <Sidebar decks={[ { name: 'Deck 1' }]} addingDeck={false} />
</App>, document.getElementById('root'));

关于javascript - Uncaught ReferenceError : createReactClass is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47061672/

相关文章:

javascript - React - 渲染组件的动态列表

javascript - 如何将值从子功能组件传递给父类组件?

react-redux - axios 与 fetch - 进行 api 调用时

reactjs - 在 redux 中跨多个 reducer 重用操作

javascript - AngularJS ng-change 不会在 IE9 和 10 中的 ng-model-onblur 指令上被触发

javascript - React-native:使用其他组件中的 'this' 导出函数

javascript - react 表 - 不刷新内容

reactjs - 如何在不使用 "expo publish"并向用户推送更新的情况下创建裸 React Native 应用程序的发布版本?

reactjs - React Redux 处理表单无法读取未定义的属性

javascript - Selenium + Protractor : Downloading file in chrome & firefox