React - 需要 { } 来调用 JS

React - need for { } to call JS

在下面的代码中(它是一个点击时会改变颜色的按钮),我不明白为什么我在第 9 行和第 14 行需要花括号 {} 而在第 13 行不需要。

在第13行,我们将state colorGreen 影响到state color,并且需要花括号来读取colorYellow 变量,所以我们使用了JS。我对么 ? 第 14 行是相同的。 在第 13 行,它是相同的,我们使用 colorGreen 和 color Yellow 变量但我们不需要花括号?为什么?

谢谢

var React = require('react');
var ReactDOM = require('react-dom');

var colorGreen = '#39D1B0';
var colorYellow = '#FFD710';

var Switch = React.createClass({
  getInitialState: function () {
    return { color: colorGreen }; //line9
  },

  changeColor: function () {
    var changeColor = this.state.color == colorGreen ? colorYellow : colorGreen; //line13
    this.setState({ color: changeColor }); //line14
  }
});

它们只是 JavaScript 的普通对象文字,而不是 React 的任何特殊语法。

您可以通过以下方式在 JavaScript 中创建对象:

var obj = {
  foo: 'bar'
}

并在您的代码中:

return {
  color: colorGreen
}

表示创建一个对象并return立即创建它。

请看:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer