ch
Feedback
Free React For Beginners

Free React For Beginners

前往频道在 Telegram

💻 Про #React та #frontend та #веб розробку 🧑‍🎓 Для початківців і не тільки 👉 https://www.youtube.com/@reactdev

显示更多
3 232
订阅者
无数据24 小时
-47
-2130
帖子存档
\n\nВін зупинить парсинг HTML і почне завантажувати цей скрипт. Коли завантаження закінчиться, він виконає цей скрипт. І лише після його виконання браузер продовжить парсинг та відображення сторінки. Така поведінка призводить до того, що, поки ваш скрипт вантажиться та виконується, новий контент на сторінці не з'являється (хоча дещо на фоні все ж таки буде відбуватися, але це вже оптимізації самих браузерів). Така поведінка не дуже сприяє гарному користувацькому досвіду. \n\nТому з'явилися спеціальні атрибути, які змінюють цю поведінку. \n\n1️⃣ Перший атрибут це async: \n\n\n\nВін каже браузеру буквально наступне: \n\n- Коли ти побачиш цей скрипт, не потрібно зупинятися. Просто почни його завантажувати у фоновому режимі, а коли завантажиш, от тоді вже виконуй.\n\nЦе дає змогу продовжувати показувати контент, паралельно із завантаженням скрипту. Але! Коли скрипт завантажиться, він почне виконуватися, а це може зупинити парсинг та відображення сторінки, якщо вона ще не довантажилася, що може бути теж не зручно. Ще один мінус в тому, що є ймовірність, що деякі елементи сторінки не встигнуть завантажитися і скрипт не зможе з ними працювати. Плюс до цього - порядок виконання асинхронних скриптів не гарантований, вони виконуються по мірі завантаження.\n\n2️⃣ Другий атрибут це defer\n\nЙого завантаження теж відбувається у фоновому режимі і не блокує відображення контенту. Але виконання скрипту буде відкладено до повного завантаження сторінки. Таким чином відображення змісту сторінки не буде заблоковане виконанням скрипту, а контент, в свою чергу, завжди буде готовий до взаємодії з кодом. Якщо у вас декілька defer скриптів, вони будуть виконані в тому самому порядку як на сторінці.\n\nЗ цікавого, якщо застосувати async та defer разом, буде вибрана стратегія defer\n\nБільш детальніше англійською тут\n\n@reactbeginners","datePublished":"2023-12-04T09:50:15Z","dateModified":"2023-12-04T09:50:15Z","author":{"@type":"Organization","name":"Free React For Beginners","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners","image":"https://img.tlmtr.io/c/1RlBUx/5330168532073302839?ty=x"},"publisher":{"@type":"Organization","name":"Free React For Beginners","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners","image":"https://img.tlmtr.io/c/1RlBUx/5330168532073302839?ty=x"},"commentCount":6,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":1685},{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":48},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":28},{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":6}]}},{"@type":"ListItem","position":19,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/ch/channels/1704429261-reactbeginners/posts/441","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners/posts/441","mainEntityOfPage":"https://telemetr.io/ch/channels/1704429261-reactbeginners/posts/441","headline":"[Ілюстрація] Браузер та завантаження JavaScript від Адді Османі","articleBody":"[Ілюстрація] Браузер та завантаження JavaScript від Адді Османі","datePublished":"2023-12-04T09:49:41Z","dateModified":"2023-12-04T09:49:41Z","author":{"@type":"Organization","name":"Free React For Beginners","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners","image":"https://img.tlmtr.io/c/1RlBUx/5330168532073302839?ty=x"},"publisher":{"@type":"Organization","name":"Free React For Beginners","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners","image":"https://img.tlmtr.io/c/1RlBUx/5330168532073302839?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":1641},{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":21},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":21}]}},{"@type":"ListItem","position":20,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/ch/channels/1704429261-reactbeginners/posts/440","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners/posts/440","mainEntityOfPage":"https://telemetr.io/ch/channels/1704429261-reactbeginners/posts/440","headline":"Поки я тут трохи не при справах (доведеться ще мінімум тиждень вдома сидіти), хочу порадити вам інший канал п…","articleBody":"Поки я тут трохи не при справах (доведеться ще мінімум тиждень вдома сидіти), хочу порадити вам інший канал по React від Максима Рудного. \n\n🤝 Це не реклама, радше партнерство, адже у нього, до прикладу, є міні курс по GraphQL якого немає у мене, є матеріалу по React-у та навіть поради щодо оформлення резюме (ой бачили б ви моє резюме 😢 )\n\n❤️Канал українською (при чому він його зробив до того як це стало мейністрімом), тож прошу.\n\nА якщо ви його вже бачили - цікаво було б почути відгуки!","datePublished":"2023-12-01T14:29:07Z","dateModified":"2023-12-01T14:29:07Z","author":{"@type":"Organization","name":"Free React For Beginners","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners","image":"https://img.tlmtr.io/c/1RlBUx/5330168532073302839?ty=x"},"publisher":{"@type":"Organization","name":"Free React For Beginners","url":"https://telemetr.io/ch/channels/1704429261-reactbeginners","image":"https://img.tlmtr.io/c/1RlBUx/5330168532073302839?ty=x"},"commentCount":41,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":1500},{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":45},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":14},{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":41}]}}]}
Прикол - тільки що знайшов на чому побудована мобільна версія Steam-у Вгадаєте на чому він написаний? А ось на чому: React Native, React, Axios, React Query і, напевно найцікавіше тут - MobX! А ви кажете redux, recoil... Всім тихих вихідних! @reactbeginners

В четвер буду виступати для Житомирської Політехніки з темою "TypeScript - викинути не можна залишити". 🎞А сам запис, трохи
В четвер буду виступати для Житомирської Політехніки з темою "TypeScript - викинути не можна залишити". 🎞А сам запис, трохи пізніше, буде викладений на YouTube, для вас. Може кому буде в нагоді. П.М. Дякую за підтримку до попереднього відео. Все бачу, все зробимо!

Що ж, і таке буває. А щоб підняти вам і собі настрій - ловіть фотку бійців з нашою пічкою. Тепер їм буде тепліше 😊 Збір не о
Що ж, і таке буває. А щоб підняти вам і собі настрій - ловіть фотку бійців з нашою пічкою. Тепер їм буде тепліше 😊 Збір не оголошував, бо зміг просто закрити з ЗП 😎, а у людей грошей не так що багато. Але якщо хочете приймати в такому участь - поставте 🔥 Тихої вам решти дня!

Русня не втомлюється нагадувати усім, які вони насправді гниди і уєбани, а я ніколи не втомлюсь робити коштозбори для ЗСУ, аб
+3
Русня не втомлюється нагадувати усім, які вони насправді гниди і уєбани, а я ніколи не втомлюсь робити коштозбори для ЗСУ, аби вони ту гниль нищили й зтирали з лиця землі. Якщо коротко, завтра особливий день, і до цього особливого дня наші котики-богунівці попросили скромний подарунок — просто закрити рахунки за ремонт. На загальну суму в 32 446 гривень. Там пару гривень вже лежить, так то на Новий Рік на лебідку, так шо вважайте, шо збираєм на ремонт з нуля. 🔗Посилання на банку https://send.monobank.ua/jar/AeXQ6YRf2X 💳Номер картки банки 5375411202918178

Давайте трохи допоможемо Сергію. Там відносно не багато, але потрібно. Я теж зараз трохи підкину.

Судячи з усього, дві третини моїх глядачів на YouTube сидять на інтернеті від Київстар 😁

💪 Результати вийшли цікаві, і я радий що в більшості (69%) труднощі з TypeScript виникають лише зрідка. 😎А щоб підтримувати ваш рівень на належному рівні - зробив маленьке відео про ключове слово satisfies, яке з'явилося в TS. 4.9 💡Кому цікаво чим satisfies відрізняється від as або прямого вказання типу - прошу до відео 🤝 Дякую всім хто писав детальні коментарі про свої складнощами з TS. Це було не марно, будемо думати що з ними робити.

😅Всі в степ!

Ви прокинулися? Тоді гайда на лайвкотинг! Покажу кілька хитрощів, як за допомогою CSS можна зробити те, для чого зазвичай тягнуть JS. А ще збиратимемо кошти на потреби 1-ї ОБрСпП ім. Івана Богуна, з крутезними подарунками за донати. Чекаю на вас! Початок об 11:00! P.S. Я вас ще за дві хвилинки до початку пінгану https://youtube.com/live/53M2Y1QwSlY

Поки літає довбаний міг, можна подивитися як наживо верстає Бабіч 💪

😈За що я "люблю" Next.JS👿 Не буду довго розводитися, просто покажу. 🖥 Подивіться на ці два зображення. Маємо один і той са
+1
😈За що я "люблю" Next.JS👿 Не буду довго розводитися, просто покажу. 🖥 Подивіться на ці два зображення. Маємо один і той самий компонент, який відрізняється одним єдиним рядком - use-client на початку файлу і який я невдало намагаюся збілдати в режимі export. Побачили? Тепер подивіться на помилку в самому низу зображень: 👉 Якщо use-client відсутній, помилка говорить про те що білд не можливий, бо функція generateStaticParams не знайдена 👉 Якщо use-client присутній, помилка каже що неможливо використовувати директиву use-client разом з функцією generateStaticParams 🤯Любий Next-е, може ти вже визначишся? Бо я з тобою посивію, грець би тебе вхопив.... Насправді, ця помилка виникає коли назва парамсу, який повертає функція не співпадає з назвою теки. В даному прикладі, моя тека називається [id], а парамс - v, тому Next і кидає цю помилку. Але можна ж було це по-людськи написати. Тепер ви знаєете.

Хто любить котиків? Усі люблять котиків! І я люблю котиків. Я можу не любити React, але котики — святе. Тому просто приходьте
Хто любить котиків? Усі люблять котиків! І я люблю котиків. Я можу не любити React, але котики — святе. Тому просто приходьте до мене в гості цієї неділі, об 11:00 ранку, аби затишно посидіти в чатику на ютубі і подивитися, як я буду показувати чудеса верстки і робити виключно на HTML та CSS те, для чого зазвичай тягнуть JavaScript. Що буду верстати? Сайт про котиків, звичайно ж! А заодно й зберемо трошки гривень для наших котиків-богунівців. То як, ждать вас в гості? 🔥 ЛАЙВКОТИНГ №1 🔥 📅 10 грудня, 11:00 Переходьте й обовʼязково ставте дзвіночок-нагадування.

Знову постало питання що є проблеми з TS. А ну допоможіть мені з цим розібратися: Я + TS = ? Якщо ви обрали варіант "потрібна допомога" - обов'язково напишіть в чому і можливо вона прийде :)
Anonymous voting

🔨Чотири з половиною години йшов Ефір🔨 😢 І в кінці кінців Next.JS мене таки підвів. Те що працювало локально - не працювало на сервері. Виявилося (хто б міг подумати) що Next не гарантує однакову поведінку для локальної розробки та під час експорту в статику. 😎Але ні мене, ні слухачів це не зупинило і ми просто переписали апку з Next.JS на чистий React. І, ви не повірите, але воно працює 😊 Хоча, звісно, дизайнер з мене дуже посередній. 😅 Вже зараз я розумію що, насправді, можна було обійтися без переписування, але вночі все виглядало трохи складніше. Ефір можна подивитися тут Репозиторій тут ❤️Дякую всім хто був зі мною на цьому майже марафоні - Ви круті! 😍Вітаю всіх із днем Святого Миколая 💪Вітаю всіх із днем Збройних Сил України. А це вам маленький подарунок

Ми починаємо! ☕️ Беріть чай | кава і приєднуйтесь 🏃 Це буде дооовгий забіг

❤️А це маленький подарунок, який буде розіграний серед тих, хто поширить цей ефір в соціальних мережах. Для того щоб взяти уч
❤️А це маленький подарунок, який буде розіграний серед тих, хто поширить цей ефір в соціальних мережах. Для того щоб взяти участь у розіграші потрібно поширити лінк на ефір на Ютуб та надіслати мені скріншот, щоб я додав вас у список 😎 Приймаються дописи в LinkedIn, Instagram, Facebook) Дякую тій людини хто його мені віддав на ефір 😍 @reactbeginners

❤️Створимо казку разом!❤️ Завтра день Святого Миколая і це чудова нагода покодити щось цікаве. Давайте зберемося сьогодні, у Вівторок, о 19:00 і спробуємо написати інтерактивну казку на Next.JS В програмі: => Дитяча казка про дівчинку Юсю та Снігокрай => Доросла казка про Next.JS та експорт в статику => 18+ казка про деплоймент Next.JS на GhPages Ефір буде тривати до переможного кінця, але сподіваюся не більше ніж 3 години. Приходьте, буде цікаво 😍 П.М. Так, мені привезли мікрофон 😅 @reactbeginners

[Пояснення] Браузер та завантаження JavaScript від @reactbeginners 😎Тема корисна, а ще її буває питають на співбесідах, то ж давайте розбиратися. ✍️ Коли браузер завантажує нашу сторінку - спершу він бачить її просто як звичайний текст. Оскільки працювати з текстом не зручно, відбувається токенізація - розбиття тексту на токени, які паралельно перетворюються на Document Object Module або DOM який вже буде відмальовуватися на сторінці. Цікавим моментом є те, що браузеру не потрібно чекати завантаження всієї сторінки - він буде відмальовувати контент паралельно із завантаженням. Це значно прискорює момент коли наш користувач зможе побачити контент і це дійсно круто. Але що відбудиться, коли браузер зустріне тег script? Насправді, це залежить від того, який саме скрипт він побачить. Якщо браузер зустріне звичайний скрипт (який ще називається синхронним):
<script src="/index.js"></script>
Він зупинить парсинг HTML і почне завантажувати цей скрипт. Коли завантаження закінчиться, він виконає цей скрипт. І лише після його виконання браузер продовжить парсинг та відображення сторінки. Така поведінка призводить до того, що, поки ваш скрипт вантажиться та виконується, новий контент на сторінці не з'являється (хоча дещо на фоні все ж таки буде відбуватися, але це вже оптимізації самих браузерів). Така поведінка не дуже сприяє гарному користувацькому досвіду. Тому з'явилися спеціальні атрибути, які змінюють цю поведінку. 1️⃣ Перший атрибут це async:
<script async src="/index.js"></script>
Він каже браузеру буквально наступне: - Коли ти побачиш цей скрипт, не потрібно зупинятися. Просто почни його завантажувати у фоновому режимі, а коли завантажиш, от тоді вже виконуй. Це дає змогу продовжувати показувати контент, паралельно із завантаженням скрипту. Але! Коли скрипт завантажиться, він почне виконуватися, а це може зупинити парсинг та відображення сторінки, якщо вона ще не довантажилася, що може бути теж не зручно. Ще один мінус в тому, що є ймовірність, що деякі елементи сторінки не встигнуть завантажитися і скрипт не зможе з ними працювати. Плюс до цього - порядок виконання асинхронних скриптів не гарантований, вони виконуються по мірі завантаження. 2️⃣ Другий атрибут це defer Його завантаження теж відбувається у фоновому режимі і не блокує відображення контенту. Але виконання скрипту буде відкладено до повного завантаження сторінки. Таким чином відображення змісту сторінки не буде заблоковане виконанням скрипту, а контент, в свою чергу, завжди буде готовий до взаємодії з кодом. Якщо у вас декілька defer скриптів, вони будуть виконані в тому самому порядку як на сторінці. З цікавого, якщо застосувати async та defer разом, буде вибрана стратегія defer Більш детальніше англійською тут @reactbeginners

[Ілюстрація] Браузер та завантаження JavaScript від Адді Османі
[Ілюстрація] Браузер та завантаження JavaScript від Адді Османі

Поки я тут трохи не при справах (доведеться ще мінімум тиждень вдома сидіти), хочу порадити вам інший канал по React від Максима Рудного. 🤝 Це не реклама, радше партнерство, адже у нього, до прикладу, є міні курс по GraphQL якого немає у мене, є матеріалу по React-у та навіть поради щодо оформлення резюме (ой бачили б ви моє резюме 😢 ) ❤️Канал українською (при чому він його зробив до того як це стало мейністрімом), тож прошу. А якщо ви його вже бачили - цікаво було б почути відгуки!