createClass报错

项目用create-react-app脚手架构架项目,只想简单练习,没想到报错,代码如下:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
// import App from './App';
import registerServiceWorker from './registerServiceWorker';

var Card = React.createClass({

render: function() {
  return (
    <div><p>123</p></div>
    )
}

});
ReactDOM.render(<Card />, document.getElementById('root'));
registerServiceWorker();

错误如下:

TypeError: __WEBPACK_IMPORTED_MODULE_0_react___default.a.createClass is not a function
./src/index.js
C:/Users/MatCloud/Desktop/mutest/test-react/src/index.js:7
4 | // import App from './App';
5 | import registerServiceWorker from './registerServiceWorker';
6 |

7 | var Card = React.createClass({
8 | render: function() {
9 | return (
10 | <div><p>123</p></div>
View compiled
▶ 6 stack frames were collapsed.
阅读 5k
1 个回答

React@15.5.0 不推荐这样用 React.createClass, 建议使用 ES6 class

Functional and Class Components

// 类定义
class Card extends React.Component {
    render(){
       return(
           <div><p>123</p></div>   
        )
     }
}

// 函数定义
const Card = () => <div><p>123</p></div>;

或者替换方案:

// 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 />;
  }
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题