No video

19 - WebSocket + React + Hook, reconnect, cleanup, часть 2 / React JS - Путь Самурая 2.0

  Рет қаралды 20,060

IT-KAMASUTRA

IT-KAMASUTRA

Күн бұрын

it-incubator.i... - человекоориентированное, честное и профессиональное обучение front-end и back-end разработке гарантированно до трудоустройства за фиксированную стоимость.
Поддержать меня можно на patreon / itkamasutra или оформив спонсорство на данном канале.
Продолжаем изучать WebSocket и внедрять его в React-приложение. То что мы сделали в прошлом выпуске по WebSocket - хорошее начало. Но давайте будем помнить про то, что мир нестабилен и всё в нём несовершенно)) WebSocket тоже) Канал наш может оборваться. И ... Сам он не восстановится. Нужно следить за этим.
Второе, это утечка памяти. Сущность WebSocket мы при реконнектах (или при реиницилизации при возврате на страницу) мы пересоздаём, но с прошлой сущностью связано много личного: наши обработчики, добавленные через addEventListener - это самое страшное. Нужно не забывать делать removeEventListener по окончанию работы с WebSocket
Будет круто! Летим!
Мы красавчики, друзья! Мы - самураи! Летим в космос, братья и сестры!
Поддержать проект монеткой: social-network...
Платное обучение в онлайн или оффлайн инкубаторе:
it-incubator.eu
it-kamasutra.com
А здесь бесплатная взаимопомощь:
t.me/reactjs_s...
* Мы в соц. сетях:
itkamas...
/ itkamasutra
telegram.me/it...
* Мои личные VK и Insta:
d.kuzyu...
/ it.kamasutr. .
#webSocket #react #chat #практика #примеры #уроки #курс

Пікірлер: 103
@user-gr7bm5ll5w
@user-gr7bm5ll5w Жыл бұрын
Очень насыщенный выпуск. Подождите, какая архитектура, мы еще тут кучу всего с websocket не сделали, и так минут на 30 взрыва мозга :) Очень мотивирует твоя подача, спасибо огромное!
@kek_pupold
@kek_pupold 3 жыл бұрын
Бывают же такие совпадения, я сегодня вернулся в React после трёх месячного перерыва и тут твой видос.
@vsvil
@vsvil 3 жыл бұрын
Наткнулся на этот видос случайно смотря ещё первый путь самурая Это интро божественное))
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
😊 Спасибо 🤝
@artyomstepanyan1123
@artyomstepanyan1123 3 жыл бұрын
Блин я кайфую от твоей подачи матеряла !!
@melloone8862
@melloone8862 3 жыл бұрын
Здарова, Димыч! Недавно оставлял уже комментарий, но хотел ещё сказать искреннее большое спасибо, за твой труд, обучающие видео. Благодаря им я хорошо прокачал свой скилл в react и js в целом. Я устроился на работу и завтра уже мой первый рабочий день :)) Ещё раз Спасибо! Успехов тебе!
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
Офигенно!!! Удачи тебе ✊👍
@kostyakozlov5289
@kostyakozlov5289 2 жыл бұрын
Как дела? Освоился?
@melloone8862
@melloone8862 2 жыл бұрын
@@kostyakozlov5289 дела нормально, теперь понимаю что к чему и как работает, по началу было сложно очень сложно
@kostyakozlov5289
@kostyakozlov5289 2 жыл бұрын
Здорово. У меня все это впереди! Можешь дать совет какой нибудь, если есть время
@melloone8862
@melloone8862 2 жыл бұрын
​@@kostyakozlov5289 ничего нового не скажу, но когда то пропустил мимо ушей, !! Спрашивай у своего старшого, если что то непонятно, но не слишком часто.хех. Ну и не забывай про софт скиллы - очень важно. Старайся и твои старания оценят. удачи!
@user-ly5ez5ln7y
@user-ly5ez5ln7y 3 жыл бұрын
братан, сегодня с утра пилетела таска по вебсокету и у тебя видос виходит) лучший!
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
В проекте скорее всего использоваться будет что-то типа socket.io На канале позже будет инфа по нему
@user-vd2xq1lx9x
@user-vd2xq1lx9x Күн бұрын
WebSocket + React + Hook, reconnect, cleanup
@user-qv8xg3qq7j
@user-qv8xg3qq7j 3 жыл бұрын
Ещё не успела посмотреть видео, ставлю лайк. А вообще, это лучший курс по реакту, который я видела. Спасибо огромное ❤️
@user-dn4ry3uw8i
@user-dn4ry3uw8i Жыл бұрын
спасибо за прекрасные уроки WebSocket, React, Hook, reconnect. Жаль, что так мало лайков. Очень насыщенный и полезный урок
@user-md9bk2fu9v
@user-md9bk2fu9v Жыл бұрын
Просто Сенсей!!!)
@user-ey6em3my8p
@user-ey6em3my8p 3 жыл бұрын
Приятный бонус для спонсоров! :) Получай видео раньше всех! Мелочь, а приятно :)
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
спасибо, Лена, за поддержку
@TheMalekula
@TheMalekula 2 жыл бұрын
Димыч бог JS! WebSocket, React ,Hook, reconnect, cleanup
@user-md9bk2fu9v
@user-md9bk2fu9v Жыл бұрын
Ты классно передаешь инфу, АЖ ТОЖЕ хочется понимать что там с кодом происходит!)) просто заглянул в будущие видео и увидел, Что ты классно и увлекательно учишь!))👍
@lel2327
@lel2327 Жыл бұрын
КЛёвый выпуск! WebSocket + React + Hook, reconnect, cleanup!!!!
@aleksandrglebik8033
@aleksandrglebik8033 Жыл бұрын
Спасибо, Димыч!) WebSocket + React + Hook, reconnect, cleanup,
@melloone8862
@melloone8862 3 жыл бұрын
спасибо за видео :)) очень доходчиво объясняешь
@maxim.saharov
@maxim.saharov 2 жыл бұрын
Димыч ставлю тебе много лайков - урок пушка!
@spacerider9426
@spacerider9426 3 жыл бұрын
WebSocket, React, Hook, Reconnect, cleanup. Спасибо, Сэнсэй, за твой огромный труд! Летим Дальше!
@maxim.saharov
@maxim.saharov 2 жыл бұрын
33:55 Димыч оно постоянно так глючно работает! - то работает то нет) и потом если минуту примерно просто посидеть и подождать то вебсокет наверно просыпается и как бы начинает сразу отдавать сообщения с сервера
@user-qy9vq5jo4c
@user-qy9vq5jo4c 2 жыл бұрын
Отличный выпуск)) Димыч, ты просто красава))) Спасибо))
@ruslankahramanov4664
@ruslankahramanov4664 3 жыл бұрын
прошел первый курс, отлично все объясняешь, все доступно и понятно. Спасибо большое. Побольше сил тебе, чтобы завершить курс
@belle-nastja
@belle-nastja 3 жыл бұрын
Безумно крутой выпуск, спасибо ! по началу показался невыполнимым, но все получилось , WebSocket reconnect, cleanup - летим дальше!)))
@mykhailostepanishchev6472
@mykhailostepanishchev6472 3 жыл бұрын
Очень интересно,благодарю.WebSocket + React + Hook, reconnect, cleanup
@aleksandercross5936
@aleksandercross5936 3 жыл бұрын
Я еще первый курс прохожу а тут 2й выходит. Удачи. Буду догонять)
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
тише едешь - дальше будешь! Вперёд!
@aleksandercross5936
@aleksandercross5936 3 жыл бұрын
@@ITKAMASUTRA =)
@vourlake1780
@vourlake1780 3 жыл бұрын
+
@kuko932
@kuko932 3 жыл бұрын
WebSocket + React + Hook, reconnect, cleanup, часть 2 / React JS - Путь Самурая 2.0 лучшее видео по вебсокет!!!!
@uzver3787
@uzver3787 3 жыл бұрын
Пошла жара)) Какая архитектура?Заходим на второй круг вкуривать)) В одной руке держу провод от модема и жду что произойдёт) WebSocket, React ,Hook, reconnect, cleanup
@user-hz7ix3hf1r
@user-hz7ix3hf1r 3 ай бұрын
WebSocket , React, Hook, reconnect, cleanup
@user-je1el3gj9d
@user-je1el3gj9d 3 жыл бұрын
Просто красавчик, как всегда копаешь в глубь, очень жду продолжения
@user-wr3dz2op1t
@user-wr3dz2op1t 9 ай бұрын
WebSocket + React + Hook, reconnect, cleanup, часть 2 / React JS - Путь Самурая 2.0
@Abdul-hy4cy
@Abdul-hy4cy Жыл бұрын
Летим летим !!
@user-vj8hj9jk2b
@user-vj8hj9jk2b Жыл бұрын
Урок хороший, хоть и не сразу все заходит. С cleanUp функцией для useEffect-а все понятно - надо для предотвращения утечек памяти memory leaks удалять все листенеры на канал. И тут сразу вопрос - он связан с примером функции реконнекта со stackOverflow - в нем используется подход не через addEventListener - а через ws.onclose, ws.onopen, ws.onmessage, ws.onerror - при данном подходе возможны утечки памяти? Т.е. если их нет - то и cleanUp функции для всех листенеров писать не надо. А это довольно существенно, да и выглядит попроще.
@davitgasparyan3331
@davitgasparyan3331 3 жыл бұрын
Like
@vourlake1780
@vourlake1780 3 жыл бұрын
+
@rrain
@rrain 2 жыл бұрын
10:25 useLayoutEffect можно, правда дальше по видео всё равно придётся его заменить)
@user-wj3rv9gj2v
@user-wj3rv9gj2v 3 жыл бұрын
Спасибо, Дмитрий!
@user-ei5zp2qi4j
@user-ei5zp2qi4j 2 жыл бұрын
Спасибо за выпуск
@ruslanla4654
@ruslanla4654 3 жыл бұрын
Как всегда на высоте ! Спасибо Димыч
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
спасибо за реактивный коммент )) летим-летим
@ruslanla4654
@ruslanla4654 3 жыл бұрын
@@ITKAMASUTRA твои курс как наркотик - как только всплывашка из ютуба приходит сразу включаю тебя )) поэтому и реактивно так
@user-wd3tl2rx9p
@user-wd3tl2rx9p Жыл бұрын
Димыч, спасибо)
@romanjob8152
@romanjob8152 2 жыл бұрын
WebSocket + React + Hook Дякую.
@aleksandryudaiev9673
@aleksandryudaiev9673 2 жыл бұрын
Димыч спасибо. Когда будет следующий выпуск? Уже заждался. Еще раз спасибо. WebSocket сокеты рулят. Го го го
@user-pc9bl7uf1l
@user-pc9bl7uf1l 3 жыл бұрын
огонь! как всегда!!!!!!!!!!!!!!
@sivkaburka1062
@sivkaburka1062 2 жыл бұрын
Доделал до конца
@vourlake1780
@vourlake1780 3 жыл бұрын
Дизейбл. Новое слово услышал). Лайк итс ол. Лайф Гуд
@aleksprimetv
@aleksprimetv 3 жыл бұрын
Спасибо за видос, когда будет продолжение? Как раз по проекту вебсокеты нужны)
@vourlake1780
@vourlake1780 3 жыл бұрын
+
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
Во вторник!
@znatniy-pekar
@znatniy-pekar 2 жыл бұрын
@@ITKAMASUTRA мне кажется или вторник уже прошел
@SerhiiNesterov
@SerhiiNesterov 3 жыл бұрын
Спасибо огромное
@user-pc9bl7uf1l
@user-pc9bl7uf1l 3 жыл бұрын
React JS - Путь Самурая 2.0
@vladyslavkravchenko5955
@vladyslavkravchenko5955 Жыл бұрын
Спасибо!)
@ssurrokk
@ssurrokk 3 жыл бұрын
агонь ваще 🔥
@Al4ii
@Al4ii 3 жыл бұрын
Кайфы!! Спасибо!
@user-yx7in9nl1d
@user-yx7in9nl1d 3 жыл бұрын
19 - WebSocket + React + Hook, reconnect, cleanup, часть 2 / React JS - Путь Самурая 2.0
@alexandrchazov6185
@alexandrchazov6185 3 жыл бұрын
WebSocket + React + Hook, reconnect, cleanup React JS - Путь Самурая 2.0
@militant6709
@militant6709 3 жыл бұрын
По моему ты обещал к концу года 100 видосов сделать🤣
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
Короновирус и террор в РБ помешали планам
@user-kc3cv8ex2n
@user-kc3cv8ex2n 3 жыл бұрын
Димыч, только оператор ? (optional chainig) никак не связан с Typescript'ом, он поддерживается непосредственно Javascript'ом
@user-vs7ek1sv5g
@user-vs7ek1sv5g Жыл бұрын
Да просто не скомпилился код нормально. Стоит вручную перезапускать страницу в случае ошибок, чтобы быть уверенным.
@skv1991
@skv1991 3 жыл бұрын
Дружище, молодец, как всегда, давно не было времени на видосы, тут увидел и обрадовался 😉 Скажи пожалуйста, а почему многие пишут в курсах такие вещи вроде создания анонимной функции в пропсе компонента (атрибуте), например onClick={(e) => {....}} или такое: styles={{fontSize: `${fSize}px`}} То есть при каждом ререндере родителя будут создаваться новые экземпляры объектов и функций, которые приводят к ререндеру самих компонентов. Ведь можно выносить такие конструкции в useCallback, useMemo и будет возвращена ссылка на существующую функцию/объект, а сам компонент обернуть в React.memo. Или всем пофиг на производительность?) В простых приложениях это может не так важно, а вот в средних и больших ощутимо :) Так же не нашел, как типизировать пропсы с ref'ом, или компонент, обернутый в forwardRef, не знаешь как это сделать? Очень нравится твой позитивный настрой 😉
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
useCallback и React.memo лучше чаще юзать, чем нет! В учебных проектах много чего не показывают :( По forwardRef... позже коснёмся этого! Но по типизации: нет самоцели типизировать всё на свете! Можно и где-то any оставить и пофигу
@skv1991
@skv1991 3 жыл бұрын
@@ITKAMASUTRA спасибо Димыч! Да, согласен, иногда приходится ставить any т.к. либо отсутствует документация касательно нужного примера, либо тормозит процесс разработки. Я думаю, что стоит типизировать интерфейсы внешние (пропсы компонентов, аргументы функций), возвращаемые значения, структуру некоторых объектов :)
@skv1991
@skv1991 3 жыл бұрын
@@ITKAMASUTRA у тебя было, что приходилось с TS сражаться?))) ну то есть когда типы описал, а потом мучаешься с пониманием того, что именно компилятору не нравится)) я не так давно с ts, пока ещё иногда туплю)
@istoric7221
@istoric7221 3 жыл бұрын
WebSocket
@vourlake1780
@vourlake1780 3 жыл бұрын
Сокет
@user-mk1or2yc4f
@user-mk1or2yc4f 3 жыл бұрын
Спасибо за видео, очень познавательно!!! Такой вопрос, почему у меня событие "close" срабатывает только через минуту после того как я выключаю интернет? Браузер Chrome
@alexandrmerser8443
@alexandrmerser8443 3 жыл бұрын
Димыч, когда видос про event loop будет?) Помню, что обещал)
@Abdul-hy4cy
@Abdul-hy4cy Жыл бұрын
У меня порт socket'а вообще не закрываается! Он даже при выключенном интернете успешно отправляет данные из формы и когда включаешь интернет обратно, берет и подгружает их. Я очень удивлен. Лишь 1 раз удалось попасть в кейс с прерыванием соединения.
@user-uz8qg6hf8p
@user-uz8qg6hf8p 2 ай бұрын
а код-то где на гите?
@StepanVorobiov
@StepanVorobiov 3 жыл бұрын
Классное видео, спасибо! У меня гипотеза есть что то что мы тут понаписали в cleanup юзЭфекте (где onclose), будет работать не так как надо. useEffect то у нас выполняется один раз и отписка будет регаться один раз (в первый раз), а потом уже подписки происходят внутри рекурсии и получается что cleanup заново отписку не прописывает. Или я ошибаюсь и что то не то у себя понакодил?! пс: на правильный автоскрол яб тоже посмотрел!
@StepanVorobiov
@StepanVorobiov 3 жыл бұрын
@Anon ymous вы можете попробовать продебажить. Отписка у него за счёт отписчиков выше, а в юзЭффект в отписку код заходит только раз (вроде. Уже шибко не помню, а сейчас код не перед глазами)
@ruslanla4654
@ruslanla4654 3 жыл бұрын
React websocket reconnect
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
спасибо за комменты
@loshasha90
@loshasha90 2 жыл бұрын
а разве интервал не надо очистить? он же так и продолжает срабатывать
@MaxKievSky
@MaxKievSky 3 жыл бұрын
Димыч, как быть уверенным что каято бесконечная хрень запросов с фронта не съест все деньги например с AWS или другого хоста? просто чтоб не пришел счет на 20килобаксов изза того что ты смайлики не так вставил...
@MaxKievSky
@MaxKievSky 3 жыл бұрын
@Anon ymous та это ж полная хрень выйдет, я слышал надо тестов побольше делать. тогда все норм будет
@swipeshark5311
@swipeshark5311 3 жыл бұрын
Дружище, будет видео по тому, как заливать подобные сайты с сокетами на хостинг?
@skv1991
@skv1991 3 жыл бұрын
На shared хостинге обычно нет поддержки вебсокетов. Либо vds брать и поднимать node.js с либой socket.io, либо comet server на php, как вариант - heroku, там что-то было бесплатное 😃 Пусть знающие поправят) мы на работе на проекте с php+apache+postgresql поднимали вебсокеты для чтения "выхлопа" из программы, там реализация была такая, что использовался comet server на php, и он слушал кажется по tcp порт на соединения и сообщения 😅
@ITKAMASUTRA
@ITKAMASUTRA 3 жыл бұрын
Ну фронт как заливали, так можно и заливать. А по беку... запишу миникурсик весной! Покажу ✊
@n0escape
@n0escape 10 ай бұрын
после отключения инета - не срабатывает консоль лог
@n0escape
@n0escape 10 ай бұрын
ютуб удаляет комменты
@theempire392
@theempire392 9 ай бұрын
у меня тоже не срабатывает. решил как-то эту проблему?
@n0escape
@n0escape 9 ай бұрын
@@theempire392 пока нет, предполагаю, что не срабатывет тригер на отключение после выключения инета Сделал костыль через отслеживание инет подключения
@rodrigosan1952
@rodrigosan1952 3 жыл бұрын
1000 доллар - это дорого для казахстана
@maxim.saharov
@maxim.saharov 2 жыл бұрын
Я так же прикрутил спинер - тоесть сделал неактивную кнопку пока реконект идет что даст то - что не будут теряться сообщения - как это сейчас у Димыча в момент реконекта. И сделал отправку сообщений и по нажатие кнопок Ctrl + Enter. Если кому то интересно решение - прошу в мой гит репо - maxim-saharov
@maxim.saharov
@maxim.saharov 2 жыл бұрын
ReactKamasutra назв. Проекта
@maxim.saharov
@maxim.saharov 2 жыл бұрын
Буду очень рад за поставленные звездочки в нем и приятного обучения самураям)
@user-ih6ie9ve6d
@user-ih6ie9ve6d 2 жыл бұрын
WebSocket + React + Hook, reconnect, cleanup
@user-pc9bl7uf1l
@user-pc9bl7uf1l 3 жыл бұрын
WebSocket + React + Hook, reconnect, cleanup
هذه الحلوى قد تقتلني 😱🍬
00:22
Cool Tool SHORTS Arabic
Рет қаралды 90 МЛН
What will he say ? 😱 #smarthome #cleaning #homecleaning #gadgets
01:00
Just Give me my Money!
00:18
GL Show Russian
Рет қаралды 958 М.
Что такое WebSockets (веб-сокеты)
2:59
Хочу вАйти
Рет қаралды 8 М.
31. Уроки React JS - onClick, ref, VirtualDOM
20:45
IT-KAMASUTRA
Рет қаралды 127 М.
22 - Hook useState / React JS - Путь Самурая 2.0
1:09:46
IT-KAMASUTRA
Рет қаралды 37 М.
100 - Теория ReactJS + Redux за 90 минут
1:26:35
IT-KAMASUTRA
Рет қаралды 176 М.