无法检测位置对象中是否存在属性

时间:2018-01-20 18:55:32

标签: reactjs react-router react-router-v4

我正在尝试检查位置对象中是否存在type属性,并且类型应为gold,此条件的输出正在工作,但是当该属性不存在时,else日志不会被打印.. 我已经尝试将hasOwnProperty和this.props.location.type替换为下面的'in'方法,两者都不起作用..

 if('type' in this.props.location && this.props.location.type == 'Gold')
   {
       console.log('Gold member')
   } else {
       console.log('not Gold member')
   }

1 个答案:

答案 0 :(得分:0)

您可以使用Object.hasOwnProperty方法检查location道具上是否存在该属性。

if(this.props.location.hasOwnProperty('type') && 
     this.props.location.type === 'Gold') {
  console.log('Gold member');
} else {
  console.log('not Gold member');
}