TypeError:属性未定义|应对

时间:2017-07-09 12:27:36

标签: javascript reactjs

我是React的新手所以这个问题可能非常基础,但我想要一些帮助。

由于no-restricted-globals,所有突然的Eslint都开始向我大喊大叫,所以我开始修复这些错误。但是,我刚刚得到了这个经典错误TypeError: Cannot read property 'location' of undefined,这里是代码:

import React from 'react'

export default props => {
  const url = ['#'].concat(props.to).join('/')
  const { location } = this.props
  return (
    <a
      href={url}
      onClick={props.onClick}
      className={location.hash.indexOf(url) === 0 ? 'active' : undefined}
    >
      {props.children}
    </a>
  )
}

如果有人解释为什么location未定义,我真的很感激,我无法理解。感谢大家阅读!

1 个答案:

答案 0 :(得分:0)

尝试使用它:

import React from 'react'

    export default props => {
      const url = ['#'].concat(props.to).join('/')
      const location= this.props.location?this.props.location:[]
      return (
        
          {props.children}
        
      )
    }

希望这可能正常运行!