При выполнении учебника для запуска функции setMaxHeight
использовался хук UseEffect
. Почему removeEventListener
вызывается после addEventListener
?
useEffect(() => {
window.addEventListener('resize', setMaxHeight)
return () => window.removeEventListener('resize', setMaxHeight)
}, [])
Это сбивает с толку, поскольку UseEffect(some_function, [])
запускается один раз при первой загрузке страницы. При загрузке он добавляет прослушиватель событий, а затем удаляет его. Как функция по-прежнему вызывается при изменении размеров будущего окна? Или UseEffect(some_function, [])
вызывается снова из-за рендеринга в результате медиа-запроса или расположения сетки, меняющего число столбцов?