我在我的React應用程序中使用名爲react-forms的庫。爲了更好地理解它是如何工作的,我一直在閱讀代碼,但是會議不停地彈出來讓我困惑。這裏的ES6/JSX代碼:解釋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 {}
。這是令我困惑的部分。有人可以提供有關此語法的更多信息的指導嗎?我通過谷歌打了很多死衚衕。
這不是ES6語法afaict。 – Bergi 2015-01-31 20:07:38
@Bergi'渲染():'是香草JS語法? 'onChange()'以及?我認爲像'render:function(){...}'是需要的。 – Miles 2015-02-01 14:35:29
不是,是的。當FakeRainBrigand回答時,':'和下面的聲明用於類型檢查。 'render(){...}'是一個ES6方法定義。 – Bergi 2015-02-01 14:41:57