2
我正在使用React的PropTypes和Flow類型檢查器,但我無法獲得可選函數prop來通過類型檢查。這裏有一個例子:React組件中的可選函數prop流動類型檢查失敗
var Example = React.createClass({
propTypes: {
exampleFn: React.PropTypes.func
},
handleClick: function() {
if (this.props.exampleFn) {
this.props.exampleFn();
}
},
render: function() {
return <a onClick={this.handleClick}>Click here</a>;
}
});
雖然我檢查this.props.exampleFn
不爲空,跑流量的類型檢查對這段代碼給我的錯誤
call of method exampleFn
Function cannot be called on possibly null or undefined value
我已經嘗試了不同的變化,如
if (this.props.exampleFn !== null && this.props.exampleFn !== undefined) {...}
或
this.props.exampleFn && this.props.exampleFn()
等知道我們正在防範可能爲空/未定義的值,但我找不到任何東西 這樣可行。當然,將道具類型更改爲React.PropTypes.func.isRequired
不會導致錯誤,但我希望將此道具保留爲可選項。
我怎樣才能得到一個可選的函數prop來通過類型檢查?
'if(this.props.exampleFn!= null)'工作嗎? – 2016-09-01 16:02:21