我有一个道具onNotifyChange
,它是一个函数,我在输入的onChange
中称呼它。
并且它具有func
的PropType。
MyComponent.propTypes = {
onNotifyChange: PropTypes.func,
}
[呼叫onNotifyChange
时,我需要检查typeof
const onChange = e => {
// do some stuff
if(onNotifyChange && typeof onNotifyChange === 'function'){
onNotifyChange()
}
}
或只是检查它是否虚假?
const onChange = e => {
// do some stuff
if(onNotifyChange){
onNotifyChange()
}
}
PropTypes.bar
是否不需要检查typeof foo === 'bar'
?
取决于:通常,否;在实践中……也许。
类型检查通常不会在生产版本中进行。如果您具有动态构造的属性(其中类型可能无效),那么您仍需要某种形式的错误处理。