Функциональный. С useEffect знаком, но он не совсем так работает, как надо. Если запускать без зависимостей, с пустым массивом, он не срабатывает. Если с зависимостями, работает норм, но мне надо, чтобы он срабатывал один раз, сразу после отрисовки, брал нужную величину и записывал её в стейт и все. Вот.