MENU

Fun & Interesting

React Reconciliation

АйТи Синяк 100,107 5 years ago
Video Not Working? Fix It Now

Данный выпуск посвящен ключевому алгоритму реакта "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 сферы (социальные / технические), а также для тех кому короткая видео выжимка статьи, выступления на конференции или же просто личных мыслей, являются более удобным форматом

Comment