Я использую ReTT PropTypes и Flow type checker, но у меня возникли проблемы с получением дополнительной функции prop для проверки типа. Вот пример:Дополнительная функция prop в компоненте React Проверка типа потока Ошибка
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
не является нулевым, бегая тип проверки Flow против этого кода дает мне ошибку
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()
и т.д., чтобы знать, что мы охраняя против, возможно, нулевой/неопределенное значение, но я ничего не могу найти это работает. Конечно, изменение типа prop на React.PropTypes.func.isRequired
не приводит к ошибкам, но я хотел бы сохранить эту опцию опциональной.
Как я могу получить опциональную функцию prop для проверки типа?
. 'If (этот.props.exampleFn! = Null)' работа? –