语法错误:此处'super'关键字意外



当我运行这个时,它给了我一个错误:

未捕获的语法错误:"超级"关键字在这里出乎意料

var React = require("react");
module.exports = React.createClass({
    constructor(){
       super();
       this.state = {date: new Date()};
    },
    render() {
        return(
            <div>
                test
            </div>
        );
    }
});

附言。我删除了super()它给了我一个错误

您正在尝试多次定义组件上的constructor。这种冲突可能是由于混合造成的。

示例来自 React Docs

我做错了什么?

如果您使用的不是 ES6 类,而是使用 React.createClass() 语法,请通过 getInitialState() 而不是通过构造函数设置初始状态:

var Counter = React.createClass({
  getInitialState: function() {
    return {count: this.props.initialCount};
  },
  // ...
});

更多信息在 React 文档中


也就是说,最佳做法是切换到 ES6 类。这样,您就可以使用文档中的构造函数语法。

最新更新