【发布时间】:2015-03-31 01:57:25
【问题描述】:
我在我的 React 应用程序中使用了一个名为 react-forms 的库。为了更好地理解它是如何工作的,我一直在阅读代码,但是不断出现的约定让我感到困惑。这是 ES6/JSX 代码:
'use strict';
var React = require('react/addons');
var cx = React.addons.classSet;
var Checkbox = React.createClass({
propTypes: {
/...code.../
},
render(): ?ReactElement {
/...code.../
},
onChange(e: {target: {checked: boolean}}) {
/...code.../
}
});
module.exports = Checkbox;
注意render(): ?ReactElement {}。这就是让我感到困惑的部分。有人可以提供有关在哪里了解有关此语法的更多信息的指导吗?我通过 Google 遇到了很多死胡同。
【问题讨论】:
-
这不是 ES6 语法问题。
-
@Bergi
render():是香草 JS 语法吗?onChange()也一样?我认为需要像render: function() {...}这样的东西。 -
不是,是的。正如 FakeRainBrigand 回答的那样,
:和以下声明用于类型检查。render() { … }是一个 ES6 方法定义。 -
@Bergi 感谢您对我的回复的耐心等待;我以为您指的是所有代码,而不仅仅是问号……这是我开始的主要问题,对吗?错了。
标签: reactjs ecmascript-6 react-jsx