带有React.createClass的组件中的SyntaxError

时间:2016-10-19 18:47:49

标签: javascript reactjs

我试图在React中创建一个函数,它最终会进行一些计算并将结果返回给我的组件。这个功能没有完成,所以请耐心等待,如果我没有意义的话。

我正在使用React.createClass

代码看起来像这样

  render: function() {
    return (
      <div className="container">
         <h3 className="time">{this._getTime(1)}</h3>
      </div>
    );
  }

  _getTime(time) {
    if (time === 1) {
      return '1';
    } else if (time === 2) {
      return '2';
    } else {
      return 'stuff';
    }
  }

这只返回一个SyntaxError:指向_getTime的意外标记。 什么是我做错了什么提示?

1 个答案:

答案 0 :(得分:3)

看起来你正在使用React.createClass,它接受​​一个Object参数。

因为它是一个Object,所以每个属性或简写方法之间都需要逗号。

var Hello = React.createClass({
  render: function() {
    return (
      <div className="container">
         <h3 className="time">{this._getTime(1)}</h3>
      </div>
    );
  }, // <--- comma added here

  _getTime(time) {
    if (time === 1) {
      return '1';
    } else if (time === 2) {
      return '2';
    } else {
      return 'stuff';
    }
  }
});

https://jsfiddle.net/pfnfvyb1/

class不使用逗号分隔符,因此在两种样式之间切换时此问题很常见。