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
在下面的代码中(它是一个点击时会改变颜色的按钮),我不明白为什么我在第 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