开发者问题收集

TypeError:无法读取未定义的属性“startDate”

2019-06-18
1424

我的 React 组件出现以下错误

TypeError: Cannot read property 'startDate' of undefined

我知道这是因为我没有绑定我的函数。当我的 localStorage 中有 hour 时,它可以工作。但是现在当我的 localStorage 中有 custom 时。并且它在 componentWillMount 中也可以工作,无论它有 hour 还是 custom 。所以这是我的代码

class Home extends Component {
  constructor (props) {
    super(props)
    this.state = {
      filterType: this.getFilterType(localStorage.getItem('daysFilter') ? localStorage.getItem('daysFilter') : 'today'),
    }
  }
    getFilterType (type) {
    let filterType = 'hour'
    if (type === 'today') {
      filterType = 'hour'
    }
    if (type === "custom" ){
      const startDate = this.state.startDate
      const endDate   = this.state.endDate
    }
    return filterType
  }
}

但我需要知道如何在构造函数中绑定我的函数?

1个回答

当实例化 this.state 时,您正在调用 getFilterType(type) ,它使用尚未初始化的 this.state

Alon Yampolski
2019-06-18