— Не создавайте функции прямо в JSX
— Используйте useCallback при передаче хендлеров в дочерние компоненты
— Особенно критично для списков и больших UI
#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7👍5🔥3😁2❤1
Пошаговое руководство по симуляции солнца, дождя, снега и грозы в интерактивном трехмерном приложении для прогноза погоды.
Автор показывает, что за красивым синтаксисом скрываются подводные камни специфичности и неожиданные баги, из-за которых старые добрые keyframes по-прежнему оказываются надёжнее.
#read_watch #react #js #ts
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1
Иногда одна мелочь рушит весь интерфейс. Компонент внезапно сбрасывает состояние и анимации — а виноват всего один key. Раньше использовался
Math.random(), и React каждый раз считал, что элементы новые.В итоге он пересоздавал их с нуля — с потерей состояния и лагами.
Как решить проблему:
item.id. Теперь React спокойно обновляет только то, что реально изменилось.#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10🥱9❤2👍2🤔1
Вы жмёте кнопку, ждёте обновления, а в ответ — тишина. React не глючит — он просто решил подождать, пока вы нажмёте ещё раз.
— как именно React «пакует» несколько setState в один рендер
— когда batching работает, а когда — нет
— и зачем в редких случаях нужен
flushSync, если важно обновить прямо сейчас#under_hood #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🥰2