Почему removeEventListener вызывается после addEventListener при использовании UseEffect (some_function, [])? - PullRequest
0 голосов
/ 27 апреля 2020

При выполнении учебника для запуска функции setMaxHeight использовался хук UseEffect. Почему removeEventListener вызывается после addEventListener?

  useEffect(() => {
    window.addEventListener('resize', setMaxHeight)
    return () => window.removeEventListener('resize', setMaxHeight)
  }, [])

Это сбивает с толку, поскольку UseEffect(some_function, []) запускается один раз при первой загрузке страницы. При загрузке он добавляет прослушиватель событий, а затем удаляет его. Как функция по-прежнему вызывается при изменении размеров будущего окна? Или UseEffect(some_function, []) вызывается снова из-за рендеринга в результате медиа-запроса или расположения сетки, меняющего число столбцов?

...