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

时间:2020-01-07 16:12:23

标签: javascript html css reactjs sass

我在React上进行表单登录以研究...,但我无法解决此错误。

TypeError:无法读取未定义的属性'classList'

我的代码错误:

changeState(){

    const {isLogginActive} = this.state;
    if(isLogginActive) {
      this.rightSide.classList.remove("right");
      this.rightSide.classList.add("left");
    } else {
      this.rightSide.classList.remove("left");
      this.rightSide.classList.add("right");
    }
    this.setState((prevState)=> ({ isLogginActive: !prevState.isLogginActive }));
  }

有人可以帮助我...为此提供一个解决方案...在React中完成

谢谢。

1 个答案:

答案 0 :(得分:0)

我假设rightSide是使用createRef API定义的属性。

在这种情况下,只能通过classList的{​​{1}}属性访问current

ref

由于this.rightSide.current.classList 是异步的,因此如果您提早访问它,例如,可能会返回null。在createRef()生命周期中。

因此,添加if语句来检查componentDidMount

总是更安全
current