React Reconciliation

  Рет қаралды 94,416

АйТи Синяк

АйТи Синяк

Күн бұрын

Пікірлер: 140
@UlbiTV
@UlbiTV 3 жыл бұрын
Очень хорошее видео!)
@sashasyhinin3928
@sashasyhinin3928 3 жыл бұрын
Воу не ожидал тебя тут увидеть, Мужик у тебя тоже очень крутой контент. Ulbi TV, Синяк, CodeDojo, Frontend science и Минин мой личный TOP 5 - рекомендую!
@UlbiTV
@UlbiTV 3 жыл бұрын
@@sashasyhinin3928 ✊🏻✊🏻
@levapveeskela4327
@levapveeskela4327 3 жыл бұрын
@@sashasyhinin3928 полностью с тобой согласен
@danildemchenko6004
@danildemchenko6004 3 жыл бұрын
​@@sashasyhinin3928 Это же чем тебе люди так насолили, что ты Минина рекомендуешь к просмотру?)))
@HauntMeGaming
@HauntMeGaming 2 жыл бұрын
Вот если ульби такое говорит, то я просто физически не смогу не чекнуть этот видос)
@dmag3287
@dmag3287 2 жыл бұрын
пожалуй лучшее 👍 в youtube русскоязычное объяснение механизма React Reconciliation
@it-sin9k
@it-sin9k 2 жыл бұрын
Спасибо!
@aleksandryudaiev9673
@aleksandryudaiev9673 3 жыл бұрын
Епта это вообще лучшее объяснения как работает virtual DOM под капотом. Thanks
@it-sin9k
@it-sin9k 3 жыл бұрын
Добро пожаловать!)
@krollsiphone
@krollsiphone 3 жыл бұрын
Случайно наткнулся на этот канал (рекомендации) и офигел. Господа (вы же там не один?), это просто... классно! Теперь задача - пересмотреть все...
@it-sin9k
@it-sin9k 3 жыл бұрын
Добро пожаловать!) нас 2-ое) программист и видео инженер) Мы будем благодарны, если о нас еще и коллегам расскажете)
@Ramosok
@Ramosok 2 жыл бұрын
Классно что я нашёл этот канал! просто супер!
@it-sin9k
@it-sin9k 2 жыл бұрын
Согласен) Классно, что вы нашли этот канал))
@raufhashimov241
@raufhashimov241 4 жыл бұрын
Увидел пост в хабре, посмотрел видос, лайкнул и подписался красава .Контент годный советую
@it-sin9k
@it-sin9k 4 жыл бұрын
Спасибо! Будем рады, если поделитесь с коллегами)
@alexsarny
@alexsarny 3 жыл бұрын
Невероятно качественный контент. Спасибо!
@it-sin9k
@it-sin9k 3 жыл бұрын
Спасибо! мы очень стараемся)
@БатырбекАйгалиев
@БатырбекАйгалиев 4 жыл бұрын
Спасибо за видео! Объяснили всё понятно и доступно. Жду новых выпусков работы!)
@it-sin9k
@it-sin9k 4 жыл бұрын
Интересно собрать фидбек, какой тип выпуском наиболее интересен: это практические с react-router или может социальные проблемы как то глубже каким то исследованиям уделять или именно хочется понять как реакт работает глубже?
@БатырбекАйгалиев
@БатырбекАйгалиев 4 жыл бұрын
@@it-sin9k Лично мне больше нравятся видео типа этого, потому что я пока не встречал в русском сегменте объяснения reconciliation, да и мало кто об этом рассказывает.
@it-sin9k
@it-sin9k 4 жыл бұрын
Спасибо за фидбек!) для этого плейлиста есть идеи уже для нескольких видео, так же с подсмотреть под капот реакта) но провести исследование и сделать такое видео достаточно трудоемкий процесс, поэтому этот плейлист будет не очень часто пополняться
@PashaRomanovich
@PashaRomanovich 2 жыл бұрын
Отличный ролик! И графические примеры очень классные! Спасибо!
@it-sin9k
@it-sin9k 2 жыл бұрын
Спасибо!
@irinal7766
@irinal7766 2 жыл бұрын
Потрясающе! Просто потрясающе!
@it-sin9k
@it-sin9k 2 жыл бұрын
Спасибо!
@romanchebotaev_frontendblog
@romanchebotaev_frontendblog Жыл бұрын
Спасибо! Очень глубокое исследование темы)
@daniyarzhanakhmetov7741
@daniyarzhanakhmetov7741 Жыл бұрын
Вы лучшие!
@РусланКононов-ч9я
@РусланКононов-ч9я Жыл бұрын
Храни тебя господь
@it-sin9k
@it-sin9k Жыл бұрын
Аминь!
@antontyronchik496
@antontyronchik496 3 жыл бұрын
Оч круто, нужно еще подробностей по подкапотке реакта
@it-sin9k
@it-sin9k 3 жыл бұрын
Заказ принят! Заказ выполнен! Целый плейлист про подкапотку реакта: kzbin.info/aero/PLz_dGYmQRrr-g02jHDzuu-6VlOt8-8Uu5
@kirillcherkalov
@kirillcherkalov 3 жыл бұрын
поделился плейлистом с коллегами по работе. реально хороший у вас контент по работе реакта
@it-sin9k
@it-sin9k 3 жыл бұрын
Спасибо за поддержку и распостранение!) Рекомендую еще посмотреть про SOLID плейлист, судя по голосованию, он людям больше понравился чем реакт даже)
@someChicoRy
@someChicoRy Жыл бұрын
спасибо, было интересно и полезно. Не понятно, почему так мало подписчиков.
@it-sin9k
@it-sin9k Жыл бұрын
Спасибо!) Про мало подписчиков люди пишут мне, еще когда было 100 подписчиков)) если поделитесь с коллегами, буду очень признателен!)
@someChicoRy
@someChicoRy Жыл бұрын
@@it-sin9k как только они появятся, то обязательно. Так скажем от отца к сыну)))
@ИванИванов-у3ч4м
@ИванИванов-у3ч4м 3 жыл бұрын
Это поям хорошо, лойс и заслуженный комментарий!
@srt2046
@srt2046 3 жыл бұрын
Ну, что сказать? Это очень круто! Лайк и комментарий!
@drunk_craft
@drunk_craft 2 жыл бұрын
Чувак, почему? Почему я не видел тебя раньше) сегодня в офисе коллега посоветовал твой канал сказав что ты «до безобразия любопытный». Мне это очень близко) продолжай в том же духе. Подписка, лайк, колокольчик и репост)
@it-sin9k
@it-sin9k 2 жыл бұрын
Ого!) Добро пожаловать на борт, будем вместе синячить))
@drunk_craft
@drunk_craft 2 жыл бұрын
@@it-sin9k крутяк) давай синячить вместе))
@NORTHSTAR103
@NORTHSTAR103 2 жыл бұрын
Спасибо, все кратко и по делу !
@fl1pp1x
@fl1pp1x 3 жыл бұрын
Geniously (react, react-reconciliation, react details, react-fiber)
@СтаниславЗдановский
@СтаниславЗдановский 4 жыл бұрын
Отлично все рассказываешь! Молодец! Продолжай еще!))
@it-sin9k
@it-sin9k 4 жыл бұрын
Спасибо!) будем стараться и дальше Вас радовать)
@aleksandrzelenskiy4000
@aleksandrzelenskiy4000 3 жыл бұрын
Очень ясно. react, react-reconciliation, react details, react-fiber
@ВероникаТен-ф3л
@ВероникаТен-ф3л Жыл бұрын
Благодарю за видео!!!
@it-sin9k
@it-sin9k Жыл бұрын
Спасибо!!!
@АндрейЛенков-м3е
@АндрейЛенков-м3е Жыл бұрын
Очень крутые видео делаешь, спасибо, что делишься знаниями и своими исследованиями. Успехов
@ИванБорисов-б1ж
@ИванБорисов-б1ж 4 жыл бұрын
Топ контент!!! Давай ещё видео по теме react под капотом
@it-sin9k
@it-sin9k 4 жыл бұрын
Спасибо!) как раз видео которое прямо сейчас мы готовим (завтра буду записывать аудио дорожку) про React под капотом)) Но такие видео требуют исследований, поэтому немного дольше видео готовится)
@Ramosok
@Ramosok 7 ай бұрын
каждый раз перед собесами просматриваю большенство твоих роликов, очень классные выжимки без воды.
@it-sin9k
@it-sin9k 7 ай бұрын
круто!) мне периодически говорят, что мои ролики помогают готовиться к собесам) очень радует)
@ОлегПетров-п4у
@ОлегПетров-п4у 3 жыл бұрын
Очень полезный контент! Спасибо! (React Reconciliation)
@it-sin9k
@it-sin9k 3 жыл бұрын
Посмотрите и другие видео на тему React, там много полезного)
@Сергей-е4г5п
@Сергей-е4г5п 2 жыл бұрын
Хорошее объяснение! Спасибо!
@АнастасияШелухина-з7е
@АнастасияШелухина-з7е Жыл бұрын
отличный контент) браво!
@Quentinrei
@Quentinrei Жыл бұрын
топовый ролик !!!
@mikhailstepanischev8316
@mikhailstepanischev8316 3 жыл бұрын
супер,спс ! React Reconciliation
@igormalykhin5528
@igormalykhin5528 5 ай бұрын
Автору большая благодарность за материал и экпертизу. Очень помогаете учиться
@spktv7260
@spktv7260 2 жыл бұрын
well yeah if you wanna do it primarily
@АлексейЛоскутников-ю4р
@АлексейЛоскутников-ю4р 3 жыл бұрын
Интересное видео! Спасибо.
@multtanker6365
@multtanker6365 Жыл бұрын
Htmlacademy даже в доп материалах на курсе по реакту указывает ссыль на твое видео по этой теме))
@it-sin9k
@it-sin9k Жыл бұрын
Ого) ничего себе) вот это неожиданно)
@NoName-zh7cc
@NoName-zh7cc 3 жыл бұрын
Огонь!
@mokkamokka4097
@mokkamokka4097 8 ай бұрын
ты лучший!
@it-sin9k
@it-sin9k 8 ай бұрын
Спасибо!
@АнатолийГорбов-о1ь
@АнатолийГорбов-о1ь Жыл бұрын
топое видео! Спасибо) после просмотра видео на канале начал больше понимать как можно оптимизировать код, и какие факторы на это влияют(как реакт определяет когда перерендер делать)
@ahmedmoka4702
@ahmedmoka4702 2 жыл бұрын
nice functional good working easy install thanks
@romangoncharuk4455
@romangoncharuk4455 2 жыл бұрын
вдохновляет
@MrKontsevoy
@MrKontsevoy Жыл бұрын
Пожалуйста, запишите новый ролик о Fiber
@it-sin9k
@it-sin9k Жыл бұрын
А что хотелось бы увидеть в этом видео?
@MrKontsevoy
@MrKontsevoy Жыл бұрын
@@it-sin9k В какой момент и как именно строятся fiber-объекты, что именно происходит когда работа прерывается и в этот момент приходят новые изменения взамен старых (сверка начинается заново или продолжается с момента остановки). Когда нужно учитывать знания о fiber, как можно их применить (т.е. показать на живых примерах, как работало раньше и что улучшилось сейчас).
@xice111
@xice111 3 жыл бұрын
Чел это топ
@it-sin9k
@it-sin9k 3 жыл бұрын
Все для вас) можете еще с коллегами поделиться)
@arswarog
@arswarog 2 жыл бұрын
круто!
@underpog5347
@underpog5347 2 жыл бұрын
а как react знает какую ноду нужно обновить? вот у нас внутри разметки используеться значение стейта "isTrue" {isTrue && 1} 2 когда "isTrue" поменяеться react должен поменять только эту часть разметки {isTrue&& 1}, но как он знает что именно эта нода изменилась? он сравнивает результат вызова React.createElement("div", null, isTrue &&React.createElement("h1", null, "1"),React.createElement("h1", null, "2")); до и после изменения "isTrue "?
@it-sin9k
@it-sin9k 2 жыл бұрын
Когда вы обновили state в вашем компоненте, То React помещает fiber ноду, которую надо обновить. Я тот механизм не изучал особо, но думаю это работа с Lines, у них часто мелькает такой код, думаю они чуть ли не в массив собираю ноды которые надо обновить и обновляют их.
@underpog5347
@underpog5347 2 жыл бұрын
ясно, спасибо за качественный контент
@379sanek
@379sanek 3 жыл бұрын
спасибо!!
@ivan_kobzar
@ivan_kobzar 3 жыл бұрын
Топ!
@aliaksandrklimianok7156
@aliaksandrklimianok7156 4 жыл бұрын
Great job!
@it-sin9k
@it-sin9k 4 жыл бұрын
Thank you!)
@ineptDev
@ineptDev 3 жыл бұрын
Привет, Синяк! Я заметил что ты поздоровался) 3 раза заметил, гыыыы
@it-sin9k
@it-sin9k 3 жыл бұрын
Привет) будет 4-ый раз)
@enjoymtx
@enjoymtx 3 жыл бұрын
Подскажите, правильно ли в нынешних реалиях будет работать в основном с Redux, а не хуками? Я уже не совсем новичок и мне показался Redux более приятным и понятным..
@enjoymtx
@enjoymtx 3 жыл бұрын
И конечно же снова спасибо за новое видео!
@it-sin9k
@it-sin9k 3 жыл бұрын
Тут надо сразу понять что вы подразумеваете под хуками. Потому что Redux предоставляет свое API так же и через хуки. Поэтому по факту можно использовать хуки и redux одновременно. Если же речь идет о написании полностью проекта с использовать useReducer и useContext, то вероятно я бы не рекомендовал вам этого делать. Это достаточно экспериментальный путь, без особого опыта таким заниматься не рекоммендую, да и пользу явную это не принесет. Поэтому используйте Redux и не переживайте)
@enjoymtx
@enjoymtx 3 жыл бұрын
@@it-sin9k да, я про useReducer и useContext, спасибо большое за содержательный ответ!
@НикитаГончаров-е8ш
@НикитаГончаров-е8ш Жыл бұрын
Топ🔥🔥🔥 Актуальна ли эта информация для функциональных компонентов?
@it-sin9k
@it-sin9k Жыл бұрын
Да, очень даже актуальна :)
@НикитаГончаров-е8ш
@НикитаГончаров-е8ш Жыл бұрын
@@it-sin9k я после этого видео решил даже проверить на своём опыте как это работает, восторгу не было предела))) И на функциональном компоненте действительно также ведёт себя
@it-sin9k
@it-sin9k Жыл бұрын
@@НикитаГончаров-е8ш Доверяй но проверяй!)
@ДмитрийКлимов-й2щ
@ДмитрийКлимов-й2щ 2 жыл бұрын
Привет! Ты сам рисуешь/анимируешь сюжеты?
@it-sin9k
@it-sin9k 2 жыл бұрын
Привет! Я составляю контент и записываю аудио, а второй человек по тз все это визуализирует.
@JestNest-b8v
@JestNest-b8v 8 ай бұрын
@АйТиСиняк, обнови плиз ссылки на priorities list
@crocus161
@crocus161 3 жыл бұрын
А как насчет 120 фпс на новых 120 герцовых экранах? Интересно, будет ли когда-то доработка этого момента. Спасибо за такой качественный контент
@it-sin9k
@it-sin9k 3 жыл бұрын
думаю не в ближайшее время) это все же сайт, и сайтам не нужно чаще всего такая детализация) хотя будущее не за горами и возможно все)
@AMORPHOFUL
@AMORPHOFUL 3 жыл бұрын
Привет что имеется введу под допущением? Какие-то trade-offs для того, что бы покрыть более критичные сценарии? не совсем понял суть слова 'допущение'
@it-sin9k
@it-sin9k 3 жыл бұрын
допущения, это допустим. У тебя приходят в функцию цифры. И ты говоришь допустим они будут целые и положительные. Таким образом тебе не надо больше добавлять проверки, на то что число отрицательно и не целое. И ты на этом экономишь ресурсы. Так и реакт сделал свои допущения, чтобы делать меньше проверок и сэкономить на этом вычислительные ресурсы
@ИванИванов-ц5ю6х
@ИванИванов-ц5ю6х 3 жыл бұрын
React Reconciliation имеет две фазы, commit и render. Фаза commit это отправка изменений в render environment или commit реализация уже внутри render environment?
@it-sin9k
@it-sin9k 3 жыл бұрын
Честно говоря я пока точно не отвечу, я недавно наткнулся на материал от Дена Абрамова, по поводу фаз, их там вроде даже 3 фразы, но я могу путать. Поэтому возможно соберусь с духом доизучаю и сделаю отдельный выпуск про это :)
@ИванИванов-ц5ю6х
@ИванИванов-ц5ю6х 3 жыл бұрын
@@it-sin9k Ну третья precommit фаза. Вопрос про commit, я узнал ответ - реализация и в react core и в реакт дом.
@ineptDev
@ineptDev 3 жыл бұрын
"Фаза commit это отправка изменений в render environment" Думаю что это, делая вывод из сказанного в видео что фазы разделены.
@vladimirpolyakov4382
@vladimirpolyakov4382 4 жыл бұрын
Агонь!!!!!!
@КириллАкутин-п3д
@КириллАкутин-п3д 3 жыл бұрын
Жду этих вопросов на следующем собесе
@it-sin9k
@it-sin9k 3 жыл бұрын
я минимально по этой теме спрашиваю) скорее ковырну в курсе человек или нет) если нет ничего страшного)
@КириллАкутин-п3д
@КириллАкутин-п3д 3 жыл бұрын
@@it-sin9k На одном из собесов, дали тестовое задание, реализовать свой алгоритм VirtualDom. Позиция была что-то между strong junior и middle. Поэтому удивляться уже не приходится никаким вопросам)
@it-sin9k
@it-sin9k 3 жыл бұрын
какие-то изуверы, занимаются всякой дичью)
@ДмитрийГлазков-ф2ю
@ДмитрийГлазков-ф2ю Жыл бұрын
ссылки на github к сожалению устарели
@AndreyEricksonGame
@AndreyEricksonGame 3 жыл бұрын
Интересно, а Реакт приоритезирует DOM-операции в зависимости от сложности выполнения операции, то есть, если DOM-операция в виде анимации требует больше времени, то она будет идти первой или это не обязательно? Просто по каким критериям Реакт ставит те или иные задачи на первое место ?
@it-sin9k
@it-sin9k 3 жыл бұрын
я честно скажу, что с этой темой мало работал, но из того что я видел, у них описаны через назовем его "enum", где каждая операция соответствует одной из опций enum
@AndreyEricksonGame
@AndreyEricksonGame 3 жыл бұрын
@@it-sin9k спасибо большое, за ответ). Ну а если строить догадки, то, как я понимаю, Реакт не обязательно делает приоритизацию задач по времени их выполнения. Т.к. анимация ховера может по времени выполняться, грубо говоря, за 20мс, а получение данных и их отображение может занять 50 мс, но Реакт поставит анимацию на первое место, как показано в вашем видео) Могу ошибаться, конечно
@it-sin9k
@it-sin9k 3 жыл бұрын
сложно что-то прогнозировать без знания кода. Но тут точно надо учитывать event loop, считать тики процессора и переключаться между задачами
@alexup7437
@alexup7437 3 жыл бұрын
Почему консоль логи в ребенках отрисовываются первее, чем в родителе? Все обернуто в мемо и есть юзЕффекты
@it-sin9k
@it-sin9k 3 жыл бұрын
я уже не помню, где там точно console.log стоит. Сбросьте временную метку или опишите ситуацию :)
@alexup7437
@alexup7437 3 жыл бұрын
@@it-sin9k Это не в Вашем ролике. У меня всегда было представление, что рендер идет сверху вниз и юзеффекты так же должны отрабатывать. Но если создать пустой проект, сделать родителя и ребенка, то в ребенке юзеффект отработает первым. Почему?
@it-sin9k
@it-sin9k 3 жыл бұрын
я частенько этот вопрос задаю на собеседованиях) суть следующая. Допустим есть компонент parent и child. вызываться будет следующим образом return (parent) -> return (child) -> useEffect(child) -> useEffect(parent) 1. Логика достаточно простая. Сначала вам надо начать рендерить родитель, чтобы узнать, а какие дети есть. Поэтому вызывается return (parent), там он узнает о детях и идет их вызывать return (child) 2. С другой стороны useEffect вызывается только после того как текущий компонент закончил полностью рендер. А может ли компонент parent закончить полностью рендер, если child еще не закончил. Поэтому useEffect(parent) вызывается только после того как все дети закончат рендеры
@alexup7437
@alexup7437 3 жыл бұрын
@@it-sin9k Спасибо! Просто сильно заафектился на этом, когда у меня в компоненте и в юзеффекте получились разные состояние поля в стейте. Начал копать, но ничего умного не нашел.
@it-sin9k
@it-sin9k 3 жыл бұрын
не за что :)
@maxovsanyuk1033
@maxovsanyuk1033 7 ай бұрын
👍💪
@Алексей-т2х8й
@Алексей-т2х8й 3 жыл бұрын
+
@balabuyew
@balabuyew 9 ай бұрын
Алгоритм не описан..
@it-sin9k
@it-sin9k 9 ай бұрын
чего вам не хватило, чтобы сказать, что алгоритм описан?
@balabuyew
@balabuyew 9 ай бұрын
@@it-sin9kВ каком порядке обходятся ноды-чилдрены одного парента? И, особенно, как этот порядок обхода совмещается с тем фактом, что некоторые ноды имеют ключ?
@it-sin9k
@it-sin9k 9 ай бұрын
@@balabuyew Это уже скорее про детали имплементации. Можно было бы с таким же успехом еще ожидать подробного рассказать о разных фазах рендеринга. Это тоже ключевая фича. Разбор как разные типы компонентов по разному обрабатываются. И все это за 10 минут. Как то это не очень реалистично звучит
@balabuyew
@balabuyew 9 ай бұрын
@@it-sin9kЭто не детали имплеметнации. Если, например, у меня есть десять чилдренов в одном каком-то паренте, пять из них имеют ключи, а остальные пять - не имеют, да еще и в новом состоянии чилдрены с ключами были передвинуты на другие места, я хочу знать какие именно чилдрены будут обновлены, а какие пересозданы заново. В документации, которую вы все дружно пересказываете, об этом не написано.
@it-sin9k
@it-sin9k 9 ай бұрын
@@balabuyew Про это есть отдельное видео kzbin.info/www/bejne/haWknYOtjJ13hLc . Да и про ключи упоминалось даже в этом видео, что это и зачем это)
@lesters
@lesters Жыл бұрын
спасибо, а то все рассказывают и показывают уже как делать на живом проекте или с 0 не обьясняя главных понятий работы реакта в целом
@it-sin9k
@it-sin9k Жыл бұрын
Добро пожаловать на канал! Тут много видео про то как реакт работает из нутри)
Все ли вы знаете о React key?
8:47
АйТи Синяк
Рет қаралды 39 М.
Максимальный перфоманс с React Signals
10:15
АйТи Синяк
Рет қаралды 9 М.
Can You Find Hulk's True Love? Real vs Fake Girlfriend Challenge | Roblox 3D
00:24
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 60 МЛН
Симбу закрыли дома?! 🔒 #симба #симбочка #арти
00:41
Симбочка Пимпочка
Рет қаралды 5 МЛН
How React ACTUALLY works (DEEP DIVE 2023)
12:59
FrontStart
Рет қаралды 66 М.
Что вы знаете о useCallback?
10:02
АйТи Синяк
Рет қаралды 49 М.
React Fiber Reconciliation: How it Works (Part 1)
13:43
Tejas Kumar
Рет қаралды 11 М.
Lin Clark - A Cartoon Intro to Fiber - React Conf 2017
31:48
Meta Developers
Рет қаралды 202 М.
React reconciliation: how it works and why should we care
15:18
Developer Way
Рет қаралды 12 М.
What Is React Fiber? React.js Deep Dive #2
18:56
Philip Fabianek
Рет қаралды 64 М.
Can You Find Hulk's True Love? Real vs Fake Girlfriend Challenge | Roblox 3D
00:24