В методах реагирования жизненного цикла: doc.addEventListener ('onmousemove', ... не работает, но doc.onmousemove = ... is. Почему? - PullRequest
1 голос
/ 21 апреля 2019

Я здесь упускаю что-то простое, я уверен, но я в замешательстве.

Почему функции addEventListener и removeEventListener НЕ работают внутри этих методов жизненного цикла реагирования, а закомментированные строки под ними работают?

  componentDidMount(){
    document.addEventListener('onmousemove', this.handleMouseMove);
    // document.onmousemove = this.handleMouseMove;
  }

  componentWillUnmount(){
    document.removeEventListener('onmousemove', this.handleMouseMove);
    // document.onmousemove = null;
  }

  handleMouseMove(){ ... }

Я могу просто использовать код document.onmousemove = ..., и он работает.Но почему вышеперечисленные строки не работают?Я чувствую, что мне здесь не хватает чего-то фундаментального.

Любая помощь очень ценится:)

1 Ответ

2 голосов
/ 21 апреля 2019

Имя события mousemove, а не onmousemove.

. onmousemove - это обработчик события свойство .

Итак, правильный код:

document.addEventListener('mousemove', ...);
// OR
document.onmousemove = ...;
...