Данный выпуск посвящен ключевому алгоритму реакта "React Reconciliation". Именно он определяет разницу деревьев между обновлениями. Именно он делает так, что практически при любом количестве изменений вы получите заветные 60 кадров в секунду. И именно он настолько пере используем, чтобы работать как для React Native так и для браузера
React Reconciliation - https://reactjs.org/docs/reconciliation.html
React Fiber Architecture - https://github.com/acdlite/react-fiber-architecture
ReactNext 2016 "What is React Fiber?" - https://youtu.be/aV1271hd9ew
Эвристический алгоритм - https://ru.wikipedia.org/wiki/%D0%AD%D0%B2%D1%80%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC
List of priorities - https://github.com/facebook/react/blob/master/packages/scheduler/src/SchedulerPriorities.js#L13
List of priority timeouts - https://github.com/facebook/react/blob/master/packages/scheduler/src/Scheduler.js#L53
Unstable exports - https://github.com/facebook/react/blob/master/packages/scheduler/src/Scheduler.js#L421
One more list of priorities - https://github.com/facebook/react/blob/master/packages/react-reconciler/src/SchedulerWithReactIntegration.new.js#L54
Поддержать Айти Синяка можно здесь:
YouTube: https://www.youtube.com/channel/UClgj-KWiNaOo9H1rz1ISO6Q/join
boosty: https://boosty.to/sin9k
Patreon: https://www.patreon.com/ITSin9k
Таймкоды:
00:00 - Объявление темы
00:46 - Источники информации
01:07 - Короткое определение "Reconciliation"
01:19 - Как React на самом деле работает
02:36 - React DOM and RN rendering
03:01 - Алгоритм сравнения деревьев
03:38 - Определение "Эвристический алгоритм"
04:21 - Общий пример изменения типов
04:45 - Боевой пример изменения типов
08:00 - Приоритизация DOM операций
08:55 - Приоритизация базируется на 2 функциях
09:15 - Реализация приоритизации на GitHub
10:24 - React Fiber intro
11:03 - Вывод
11:22 - Подписывайтесь!
11:33 - Рекомендованные видео
Подписаться на канал: https://www.youtube.com/channel/UClgj-KWiNaOo9H1rz1ISO6Q?sub_confirmation=1
Twitter: https://twitter.com/it_sin9k
-------------------------
Данный канал создан для инициирования бесед на различные темы IT сферы (социальные / технические), а также для тех кому короткая видео выжимка статьи, выступления на конференции или же просто личных мыслей, являются более удобным форматом