делать в componentDidMount , но тогда это вызовет моментальную перерисовку в момент вывода и я не понимаю до конца как отрабатывает реакт, если мы помещаем в функциональный компонент консоль лог то очевидно он будет вызван, но возможно ли как-то проверить что реакт оптимизирует ли этот процесс и перерисовывает конкретный элемент а не всё дом-дерево?
Вопрос полон непонимания. 1. componentDIdMount вызывается только 1 раз при "монтировании", или, можно сказать, перед первой отрисовкой 2. CDM есть только в классовых компонентах, в функциональных это поведение можно воссоздать через хук useEffect() 3. есть разные возможности увидеть, почему компонент перерендерился, но "степень оптимизации" не узнать (с другой стороны, за 5 лет ни разу не надо было)
Я просто спойлер не писал,я вкурсе что он вызывается 1 раз во время монтирования и для этого упомянул случай за ажакс и запрос в нём, что заставит во время монтирования перезаписать стейт и отрисовать элемент заново 2. до хуков ещё не дошёл вкурсе что они лучше 3.а вот это уже и был мой вопрос и грустно что я не могу проверить что правильно всё отработало
Я бы не задумывался об оптимизации и прочем на таком раннем этапе обучения. И "отрисовать элемент заново" не совсем верно - "перерисуются" только измененные ноды. И делает это реакт очень быстро, это одна из причин популярности - мы просто говорим что рисовать, а реакт знает как это сделать быстро.
Обсуждают сегодня