无法设置未定义的属性“ scrollTop”

时间:2019-06-03 05:14:55

标签: reactjs

我有一个带有注销按钮的仪表板组件。单击注销后,使用火基注销并重定向以登录组件。我收到以下错误。我该如何解决这个问题。

TypeError: Cannot set property 'scrollTop' of undefined
Dashboard.componentDidUpdate

  69 | }
  70 | componentDidUpdate(e) {
  71 |   if (e.history.location.pathname !== e.location.pathname) {
> 72 |     this.refs.mainPanel.scrollTop = 0;
     | ^  73 |     if (this.state.mobileOpen) {
  74 |       this.setState({ mobileOpen: false });
  75 |     }

1 个答案:

答案 0 :(得分:1)

在尝试设置this.refs.mainPanel之前,请确保scrollTop存在:

if (this.refs.mainPanel) {
  this.refs.mainPanel.scrollTop = 0;
}

或者这个:

(this.refs.mainPanel || {}).scrollTop = 0;