无法通过DatePicker

时间:2019-03-22 15:08:28

标签: javascript reactjs datepicker state onchange

所以我无法设置从该DatePicker中选择的日期的状态

更改:

  change = (e) => {
    this.setState({
      [e.target.name]: e.target.value,
    });
  };

DatePicker组件:

<DatePicker
      selected={this.state.startDate}
      onChange={e => this.change(e)}
 />

如果我在第一次重新加载页面时使用默认日期,则没有问题。但是,当选择日期时,我得到了一个错误。

  

类型错误:无法读取未定义的属性“名称”。

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

  

已合并SyntheticEvent。这意味着在调用事件回调之后,将重新使用SyntheticEvent对象,并且所有属性都将无效。这是出于性能原因。因此,您不能以异步方式访问事件。

更多信息here


由于setState是异步的,因此eventnull中求值时将是setState

相反,请在event之前解构setState

change = ({ target: { name, value } }) => {
  this.setState({
    [name]: value,
  });
}

change = e => {
  const { name, value } = e.target;
  this.setState({
    [name]: value,
  });
}