Тёмный

React (продвинутый) 

Yandex for Frontend
Подписаться 58 тыс.
Просмотров 74 тыс.
50% 1

Продолжаем изучение React. Заглянем «под капот» и разберём тонкости использования библиотеки.

Опубликовано:

 

10 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 91   
@evergreen-
@evergreen- Год назад
==Как рендерится UI в React== 10:27 Фаза 1: Рендеринг и сравнение 10:44 Дерево элементов 14:26 Дерево волокон (React Fiber) 18:18 Что такое Fiber 19:03 Структура Fiber 25:38 Работа (effect) 36:04 Как происходит обновление интерфейса 46:53 Эвристика сравнения изменений 50:12 Фаза 2: Commit ==Оптимизация компонетов== 1:01:40 State Colocation 1:04:28 Ремаунты 1:10:19 HOC (Higher Order Components) 1:19:50 React.memo ==Отношение родительских и дочерних компонентов== 1:22:58 Props drilling 1:26:03 Контекст 1:32:19 Порталы ==Паттерны== 1:38:07 Паттерны 1:46:20 Ответы на вопросы
@d0paminer
@d0paminer 2 года назад
Качественный, детальный разбор работы react "под капотом" + автор непринужденно, красочными аналогиями и в простых примерах доносит далеко не самые простые концепции. Оч полезно, лайк)
@user-ww3qz7yx1t
@user-ww3qz7yx1t 9 месяцев назад
Спасибо за лекцию! заметил пару моментов: 36:34 "Мы с вами помним, что у нас есть два действия, которые вызывают ререндер - это установка состояния ... и изменение пропсов". Для ререндера есть только одно условие - это изменение стейта компоненты или ее родителя. Изменение пропсов - это частный случай изменения стейта родителя. 1:28:45 "Самая большая проблема контекста ... - это то, что при изменении значения у нас перерендериваются все дочерние компоненты". У контекста нет такой пробелмы. При изменении значения перерендериваться будут только потребители контеста, использующие useContext. 1:29:24 "RestorantsPage завернуть в memo". Оборачивание в memo не поможет, если компонента является потребителем контекста. Независимо от memo, при изменении значения value, компоненты с useContext будут ререндериться. Вообще использование memo тут неуместно, и следует лишь из неверного допущения о том, что все дочерние элементы ререндерятся при изменении значения контекста.
@xxxxrat
@xxxxrat 2 месяца назад
Разве при перерендеринге родителя все его потомки не уходят в перерендеринг?
@user-fz7fe8cn7i
@user-fz7fe8cn7i 2 года назад
Боже, как я кайфанул, 2 часа как 20 минут, спасибо большое. Лектор - просто красавчик, без воды, по фактам))
@dobermanpharaoh7567
@dobermanpharaoh7567 10 месяцев назад
А ещё он отличные курсы ведёт 👍
@pvttrix
@pvttrix 8 месяцев назад
@@dobermanpharaoh7567где?
@PalladinGOLD
@PalladinGOLD 3 месяца назад
Самая офигенная лекция по реакту
@LadyBugFeature
@LadyBugFeature 4 месяца назад
Спасибо 🙏🏻 объяснили то что я так долго не могла понять
@omak3313
@omak3313 Месяц назад
После скорого релиза React 19 было бы здорово увидеть апдейт про React на этом канале
@YandexforFrontend
@YandexforFrontend Месяц назад
Здравствуйте! Спасибо за идею, расскажем о вашем пожелании команде, подумаем, что можно сделать 🙌
@denispepper2830
@denispepper2830 Год назад
Спасибо за лекцию - это единственная русскоязычная адекватная лекция для новичков
@user-yj8tf7xb6g
@user-yj8tf7xb6g 6 месяцев назад
Спасибо большое за доклад! Очень понятно объяснили сложные темы 👍
@erassylzh5658
@erassylzh5658 2 года назад
Спасибо, очень интересно! 2 часа пролетели как 1 час на скорости х2 😁
@fpvba
@fpvba 6 месяцев назад
Гениально 😂😂
@chirkov
@chirkov Год назад
Супер, после середины мне стало интересно. И спасибо за примеры приближенные к реальности!
@elmarklimov5458
@elmarklimov5458 4 месяца назад
просто офигеннейший доклад! Такого не хватает, ютуб сейчас на 99 наводнён бесполензным пересказами, как работают хуки и какие виды бывают... Про underhood, такое ощущение, либо никто не хочет знать, либо react-блогеры сами не понимают, как эта магия работает)
@Vlad-sw4zd
@Vlad-sw4zd Год назад
Ого, про хоки крутой совет. Раньше использовал их только в реакт-редаксе и не понимал, как их можно еще использовать.
@amalker
@amalker 2 года назад
Спасибо, просто кайфую от подачи и качества информации. Круто!
@isephar
@isephar Год назад
Лектор лучший и информация подана классно. Спасибо!
@fpvba
@fpvba 6 месяцев назад
Очень круто В одно время много провозился с перерендерами когда делал dnd элемент)
@StrayVegan
@StrayVegan Год назад
Спасибо большое за такой полезный и классный доклад 🤝
@661marker
@661marker Год назад
такие вопросы к лектору: утверждается, что файбер нода мутабельна, но в то же время в презентации показывается, как файбер дерево клонируется(!). если файбер ноды клонируется, а старое дерево удаляется, значит файберы тоже иммутабельны? (или иллюстрации в презентации некорректные?). либо они могут себя вести по разному в зависимости от эффектов, которые должны быть выполнены, и тогда клонированное дерево может удалится, и только обновиться исходное?
@user-lm8py5rb4m
@user-lm8py5rb4m Год назад
Это самый топовый урок по файберам
@user-cv5eo9eu9z
@user-cv5eo9eu9z 2 года назад
Спасибо огромное за ваш труд мы очень ценим
@КириллСандрыгайло
ХВхвх "Он знает своего родителя и знает одного своего родственника, либо брата либо сестру. Возможно его брат или сестра знают еще одного брата или сестру. Согласен, семейка странная" ххвхв это шедеврально, сделало мой день)
@alexx5151
@alexx5151 8 месяцев назад
доходит до самого нижнего чайлда - Я один ребенок одного родителя (вздох) бывает...
@floky1342
@floky1342 2 года назад
Надеюсь увидеть продолжение про Redux
@user-mn2po8ns2z
@user-mn2po8ns2z Год назад
действительно шикарный материал
@mansur.gabidullin
@mansur.gabidullin Год назад
Большое Спасибо!
@user-rn5cl2fr8b
@user-rn5cl2fr8b 2 года назад
Спасибо!
@vladimiryazvinskiy2948
@vladimiryazvinskiy2948 Год назад
Спасибо,оч доходчиво)
@user-ei9jd7pw4s
@user-ei9jd7pw4s Год назад
Компонент перерендовелся, перерендовелся да не перевырендовелся.
@kinderhero8897
@kinderhero8897 2 года назад
дайте плз ссылку на предыдущее видео
@dmytrovoronov9320
@dmytrovoronov9320 2 года назад
bnzcSC8AmHY
@lliarona
@lliarona Год назад
Спасибо, дружище
@deniskalinin5101
@deniskalinin5101 10 месяцев назад
Лектор просто батя
@romanr5843
@romanr5843 5 месяцев назад
Спасибо за лекцию! Не совсем ясно с порталами и модалками. Обычно модалке не задается position absolute. Делаем для нее position fixed, top:0, left:0 with и height - 100%. И модалка всегда по центу, внутри отрисовываем контент. Для чего тут создавать портал не совсем понятно.
@ru_irina
@ru_irina 3 месяца назад
Если у родительского компонента есть transform, то fixed у дочернего не работает.
@vanivka
@vanivka 5 дней назад
Лекции 2 года, но вроде уже 2 года назад абсолютно каждый айтишник отлично знал что человек видит только 60 кадров это бред полный. Если ваш сайт будет отображать 60фпс на айфоне про версии у вашего руководителя, он пошлёт вас просто, потому что это будет лагать для него на фоне системы, которая работает в 120.
@enlighty
@enlighty 2 года назад
Во славу Плети!
@zorislaw
@zorislaw 2 года назад
Спасибо.
@aldarzhai
@aldarzhai 2 дня назад
А как называется 3 часть видео про реакт и есть ли в плейлисте? Скиньте ссылку, пожалуйста
@YandexforFrontend
@YandexforFrontend 2 дня назад
Здравствуйте! Увы, ссылкой поделиться не сможет, так как Ютуб их удаляет. Название третьей части: «React (Экосистема React приложения)».
@aldarzhai
@aldarzhai 2 дня назад
@@YandexforFrontend спасибо!
@user-yk7sm4mr4o
@user-yk7sm4mr4o Год назад
пожалуйста, приобретите менее чувствительные микрофоны, каждое чавкание и чвакание слышно. безумно отвлекает
@user-kf5tp5ps9b
@user-kf5tp5ps9b 11 месяцев назад
В чем отличие чавканья от чваканья?
@alfanidj
@alfanidj 10 месяцев назад
Пока не увидел этот коммент - не замечал
@user-nj6dh2ck2y
@user-nj6dh2ck2y 3 месяца назад
Любит сглатывать)
@FahradLevonyan
@FahradLevonyan Год назад
Если я правильно понял, то в stack будет такая очередь правильно? 1.async tasks 2.fiber 3.micro tasks 4.macro tasks
@anastasiia_idle
@anastasiia_idle 9 месяцев назад
на счет провадйеров не поняла, как нельзя несколько провайдеров обернуть? у меня в пет проекте 3 провайдера, и все компоненты получают доступ
@petruhinmaxim
@petruhinmaxim 10 месяцев назад
O(n³) => O(n) за счет пользовательской настройки и изменения типа (что формально тоже задается пользователем react). Whaaaat... Пойду собесы по алгоритмам посмотрю)
@rin2004able
@rin2004able 8 месяцев назад
HOC -- это HighER Order Component, HOF -- это HighER Order Function
@lifeisbeautifu1
@lifeisbeautifu1 Год назад
Спасибо
@Gdyvfjttyhhh
@Gdyvfjttyhhh Год назад
1:31:25, Не совсем правильно. Redux не использует контекст от слова совсем. Это ядро, которое написано на ванильном JS'e и контекста там и близко нет. А вот контекст использует либа react-redux, чтобы коннектить наши компоненты со стором. Это принципиальная разница на самом деле.
@temaProg
@temaProg Год назад
Да, все верно, тут оговорился, имел ввиду react-redux библиотеку, которая поставляет инструменты для работы реакт приложения с редаксом
@georgegrinding1793
@georgegrinding1793 Год назад
@@temaProg не могу разобраться: запускаем наш код, срабатывают render всех компонентов, JSX разворачивает в React.createElement, строится дерево элементов и соответствующий ему связанный список fiber нод. Далее где-нибудь в середине дерева изменился стейт у компонента, каким образом появляется новое дерево? первоначальное построилось благодаря вызову всех существующих render, а новое? мы же заново не запускаем у абсолютно всех компонентов render? и уже 2 дерева сравниваются - обход связанного списка механизмом reconcillation
@griha296
@griha296 Год назад
тупа лудшый
@user-uy1fz3gv9i
@user-uy1fz3gv9i Год назад
Могу ошибаться, но вроде изменение пропсов никак не влияет на решение React ререндерить элемент, и не важно изменилась ссылка на объект пропсов или нет. React всегда ререндерит элемент, если изменился стэйт родителя. Каждый раз сравнивать стейты было бы слишком дорого, поэтому мы сами должны сообщить React когда стоит сравнить пропсы через memo.
@pavuk7086
@pavuk7086 11 месяцев назад
Верно ли что React.memo стоит юзать в тех случаях, когда у родителя меняется стейт, а у дочернего ничего не меняется? Для того, чтоб этот дочерний компонент не ререндерился? Немного запутала лекция тем, что изменение пропсов заставляет компонент ререндерится, хотя скорее речь о том, что изменение пропсов завязанных на стейте родителя вызывает ререндер. Что звучит абсурдно, учитывая что любой изменение стейта родителя вызывает ререндер дочерних. Короче я пока писал уже разобрался вроде как…
@anastasiia_idle
@anastasiia_idle 9 месяцев назад
изменение пропсов невозможно без изменения состояния. так что де-факто, изменение пропсов треггирит ре-рендер
@pandalove6795
@pandalove6795 10 месяцев назад
Я вооообще ничего не понял) не ну ладно, что-то понял, но вот например. Лектор сказал, что Fiber мутабельный, но почему создается новое дерево из Fiber? Почему каждый Fiber клонируется? Я всегда думал, что это происходит с VDOM-ом. А вот Fiber уже подлавливают новые React Element-ы.
@Denisqa-ke1xo
@Denisqa-ke1xo Год назад
"Возможно его брат и сестра тоже знает о каком-то брате или сестре. Семейка странная, я согласен" :D
@mkstlz
@mkstlz Месяц назад
ПОПЕЙ ТЫ УЖЕ ЭТУ ВОДИЧКУ ПОЖАЛУЙСТА !!! ААААааААаааа
@maximk5620
@maximk5620 11 месяцев назад
Ифаки 😂😂
@whiteguards43
@whiteguards43 Год назад
53 минута, что означает дестроится ?
@acidentd9722
@acidentd9722 2 года назад
2:51 представления потом сбой до 4:47
@xxxxrat
@xxxxrat 2 месяца назад
Что, опять? Ну как в такой серьезной лекции можно утверждать, что изменение пропсов влечет перерендеринг? Простой пример: пропсы завязываем на ref, чтобы не происходил перерендеринг, и по клику в родителе их меняем. Пока не произойдет перерендеринг родителя (а в нашем примере он не происходит), fiber не узнает про изменение пропсов, потому что return родителя не вызовется. В остальном очень полезно, спасибо.
@temaProg
@temaProg 2 месяца назад
Здравствуйте. Тут оговорка, изменение пропсов не приводит к перерендеру, это последствия перерендера
@kowkavn2356
@kowkavn2356 5 месяцев назад
Те кто уже работает, подскажите, это уровень знаний джуна или джуна+?
@nafanya3733
@nafanya3733 Месяц назад
в 8 классе я проходил P.S. Сеньор-реактер
@tahirdibirov1430
@tahirdibirov1430 Год назад
Изменение пропсов не вызывает перерендеринг, 01:38:52 - это жиза
@romandeveloper7720
@romandeveloper7720 10 месяцев назад
вызывает
@user-yk9nj6co9d
@user-yk9nj6co9d Год назад
У меня проблемы с буквой "Р" ))
@cyberbullya
@cyberbullya 11 месяцев назад
Откуда взяли что человек 60 кадров видит? Хоть бы изучили инфу для начала
@johnramirezzz
@johnramirezzz 3 месяца назад
Тренированные лётчики видят вплоть до 1000 кадров
@gyros9162
@gyros9162 Год назад
лекция классная, но первая часть слишком метафоричная, с отвлекающими отступлениями. Почему не сказать "сиблинги", а все время говорить про каких-то братьев и сестер, которые, по идее, ничем друг от друга не отличаются... Вторая часть отличная, спасибо ) Презентация ограничивала в объяснениях, не хватало лайфкодинга, манипуляций с кодом, из-за этого приходилось много жестикулировать
@gubatenkov
@gubatenkov 2 года назад
Есть у кого ссылка на видос про асинхронность?
@katiapervak
@katiapervak 2 года назад
Есть телеграм канал со всеми записями, ссылку не дает вставить
@sweeterEater
@sweeterEater 2 года назад
@@katiapervak а подскажите, пожалуйста, как найти этот телеграм канал?
@MrSanya789
@MrSanya789 2 года назад
@@katiapervak Можете пожалуйста название канала дать?
@katiapervak
@katiapervak 2 года назад
Записи открытых лекций яндекс 2022
@gubatenkov
@gubatenkov 2 года назад
@@katiapervak канал не отображает предыдущие записи для новых подписчиков. Есть ссылка на yuotube-видео про асинхронность?
@eliassmith7949
@eliassmith7949 Год назад
опять сектанты свидетели «человеческий глаз больше 60 фпс не видит»
Далее
React (базовый)
2:31:17
Просмотров 61 тыс.
Cute
00:16
Просмотров 3,7 млн
Хочу стать Junior React
18:42
Просмотров 5 тыс.
React Reconciliation
11:53
Просмотров 91 тыс.
What Is React Fiber? React.js Deep Dive #2
18:56
Просмотров 60 тыс.
Lin Clark - A Cartoon Intro to Fiber - React Conf 2017
31:48
React (Экосистема React приложения)
1:37:17