uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi πŸ‘‰ Belgini koβ€˜rmoqchi boβ€˜lsangiz, obuna boβ€˜ling

React

React

Kanalga Telegram’da oβ€˜tish

ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ React js ΠΈ всС Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ связано. По всСм вопросам @evgenycarter

Ko'proq ko'rsatish
2 645
Obunachilar
-224 soatlar
-67 kun
-1430 kun
Postlar arxiv
React
2 645
ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° https://indepth.dev/posts/1498/101-javascript-critical-rendering-path ✍️ @React_lib
ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° https://indepth.dev/posts/1498/101-javascript-critical-rendering-path ✍️ @React_lib

React
2 645
Найди ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅: Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠšΠ°Ρ€Ρ€ΠΈ Π’ этом выпускС «Найди ΠΎΡˆΠΈΠ±ΠΊΡƒΒ» Ρƒ нас Π΅ΡΡ‚ΡŒ простой React ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚-ΠΏΠ΅Ρ€Π΅ΠΊΠ»
Найди ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅: Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠšΠ°Ρ€Ρ€ΠΈ Π’ этом выпускС «Найди ΠΎΡˆΠΈΠ±ΠΊΡƒΒ» Ρƒ нас Π΅ΡΡ‚ΡŒ простой React ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ состояниями ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ. Однако ΠΎΠ½ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ оТидаСтся. НайдитС ΠΎΡˆΠΈΠ±ΠΊΡƒ. ✍️ @React_lib

React
2 645
+8
React JS сайт с нуля - установка ΠΈ настройка React ΠΈ Bootstrap - АдаптивноС мСню с bootstrap - Π ΠΎΡƒΡ‚ΠΈΠ½Π³ сайта, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ страницам - Π΄Π΅Π»Π°Π΅ΠΌ слайдСр Bootstrap - вСрстка Ρ‚Π°Π±Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎ - Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи - вСрстка ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Bootstrap - вСрстка сайта Π±Π»ΠΎΠ³ посты - ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сайт React JS Π½Π° хостинг ✍️ @React_lib

React
2 645
Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ React.js https://devhints.io/react ✍️ @React_lib
Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ React.js https://devhints.io/react ✍️ @React_lib

React
2 645
Cтилизация React прилоТСния Если Ρ‚Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² React, Ρ‚Π΅Π±Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ сущСствуСт Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… руководств
Cтилизация React прилоТСния Если Ρ‚Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² React, Ρ‚Π΅Π±Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ сущСствуСт Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… руководств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‡Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ способам стилизации React прилоТСния. По ΠΏΡ€Π°Π²Π΄Π΅ говоря, ΠΌΡ‹ всё Π΅Ρ‰Π΅ пытаСмся ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ. Π”Π°Π»Π΅Π΅ ✍️ @React_lib

React
2 645
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SWR для получСния Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдставляСт ΠΈΠ· сСбя Π½Π°Π±ΠΎΡ€ Ρ…ΡƒΠΊΠΎΠ², основной ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… это useSWR. Помимо ΠΏΠΎΠ»Ρƒ
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SWR для получСния Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдставляСт ΠΈΠ· сСбя Π½Π°Π±ΠΎΡ€ Ρ…ΡƒΠΊΠΎΠ², основной ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… это useSWR. Помимо получСния Π΄Π°Π½Π½Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния Π΄Π°Π½Π½Ρ‹Ρ…. ИзмСнСниС Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ стратСгии SWR - сначала локально, ΠΏΠΎΡ‚ΠΎΠΌ отправляСм запрос Π½Π° сСрвСр. SWR происходит ΠΎΡ‚ stale-while-revalidate, это стратСгия ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ рСсурсов, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сначала Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша, Π° ΠΏΠΎΡ‚ΠΎΠΌ происходит запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ свСТих Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΎΠΉ стратСгии ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сайта, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ приходится мСньшС ΠΆΠ΄Π°Ρ‚ΡŒ ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ спиннСры Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° стратСгии SWR, автоматичСская рСвалидация кэша, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° API Suspense. Авторами Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Next.js. https://swr.vercel.app/ ✍️ @React_lib

React
2 645
ΠšΠ°ΡΡ‚ΠΎΠΌΠ½Ρ‹ΠΉ React Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€ Когда React Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ обновляСт DOM, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ React DOM. ΠŸΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅ прилоТСния Π½Π° сСрвСрС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ react-dom/server. Для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π΅Π½Π΄Π΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ react-native.  Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ окруТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свой Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€, хотя ΠΌΠΎΠ΄ΡƒΠ»ΡŒ react ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Π΅Π·Π΄Π΅ ΠΎΠ΄ΠΈΠ½.  ΠœΠΎΠ΄ΡƒΠ»ΡŒ react прСдоставляСт API для опрСдСлСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π° рСализация находится Π² β€œΡ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€Π°Ρ…β€. Для связи Ρ…ΡƒΠΊΠΎΠ² с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ΄ΠΈΡΠΏΠ°Ρ‚Ρ‡Π΅Ρ€β€. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ useState, Π²Ρ‹Π·ΠΎΠ² пСрСнаправляСтся Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ диспатчСру Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€Π°. ΠžΠ± этом Π΅ΡΡ‚ΡŒ подробная ΡΡ‚Π°Ρ‚ΡŒΡ Π² Π±Π»ΠΎΠ³Π΅ Дэна Абрамова. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ своСго Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œhost config”, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ описаны ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API React. Выглядит Ρ‚Π°ΠΊ: const HostConfig = { createInstance(type, props) { // e.g. DOM renderer returns a DOM node }, // ... supportsMutation: true, // it works by mutating nodes appendChild(parent, child) { // e.g. DOM renderer would call .appendChild() here }, // ... }; https://github.com/facebook/react/blob/main/packages/react-reconciler/README.md ✍️ @React_lib

React
2 645
ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ react-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dot-notation ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ я часто ΠΏΡ€ΠΈΠ±Π΅Π³Π°ΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ этому способу ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ являСтся ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ react. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ - это Π³Π»Π°Π²Π½Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² своСй ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТныС систСмы. Π’ основС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Π² ΠΈΠ΄Π΅Π°Π»Π΅, всСгда Π»Π΅ΠΆΠΈΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ обособлСнный Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, своСго Ρ€ΠΎΠ΄Π° ΠΌΠΈΠΊΡ€ΠΎ-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎ-Π·Π°Π΄Π°Ρ‡ΠΈ. Π”Π°Π»Π΅Π΅ ✍️ @React_lib

React
2 645
Π₯ΡƒΠΊΠΈ react-router Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ react-router для получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π° ΠΈ выполнСния Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ кастомныС Ρ…ΡƒΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ входят Π² react-router-dom: - useHistory. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ history, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ URL, Π»ΠΈΠ±ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ страницу.  - useLocation. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ location, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ URL. Π­Ρ‚ΠΎΡ‚ Ρ…ΡƒΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ useState, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ location ΠΏΡ€ΠΈ смСнС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ URL. - useParams. Π₯ΡƒΠΊ для доступа ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ URL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ установлСн Π² Ρ€ΠΎΡƒΡ‚Π΅. - useRouteMatch. Π­Ρ‚ΠΎΡ‚ Ρ…ΡƒΠΊ пытаСтся ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ URL Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ <Route>. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π·Π°ΠΌΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° <Route>, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ URL. - useQuery. Π₯ΡƒΠΊ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² список стандартных, Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ useLocation. https://reactrouter.com/web/api/Hooks ✍️ @React_lib

React
2 645
РаспространСнныС ошибки ΠΏΡ€ΠΈ использовании React Testing Library. https://te.legra.ph/Rasprostranennye-oshibki-pri-ispolzovani
РаспространСнныС ошибки ΠΏΡ€ΠΈ использовании React Testing Library. https://te.legra.ph/Rasprostranennye-oshibki-pri-ispolzovanii-React-Testing-Library-06-29 ✍️ @React_lib

React
2 645
Руководство - ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Ρƒ React Когда происходит ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° react? Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³, ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³? Π’ΠΎΡ‚ краткая ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ сСбС эти вопросы. https://alexsidorenko.com/blog/react-render-cheat-sheet/ ✍️ @React_lib

React
2 645
Error Boundaries Π² React: ΠΏΡ€Π΅ΠΏΠ°Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Π»ΡΠ³ΡƒΡˆΠΊΡƒ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° React, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ
Error Boundaries Π² React: ΠΏΡ€Π΅ΠΏΠ°Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Π»ΡΠ³ΡƒΡˆΠΊΡƒ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° React, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‹. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π» список ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ², пролистал Π΅Π³ΠΎ, Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Β». Π€ΠΎΡ€ΠΌΠ° написания ΠΎΡ‚Π·Ρ‹Π²Π° открываСтся Π² ΠΏΠΎΠΏΠ°ΠΏΠ΅, Π½Π°Π΄ списком. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ тСкст, свой e-mail. Π’Π΄Ρ€ΡƒΠ³ валидация ΠΏΠΎΡ‡Ρ‚Ρ‹ срабатываСт с ошибкой, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π°Π±Ρ‹Π»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” Π±Π΅Π»Ρ‹ΠΉ экран. React просто Π½Π΅ смог Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈΠ·-Π·Π° этой ошибки Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΏΠΎΠΏΠ°ΠΏΠ΅. Π”Π°Π»Π΅Π΅ ✍️ @React_lib

React
2 645
ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡΡ Π² React Suspense API https://blog.bitsrc.io/understanding-the-suspense-api-in-react-18-bbea3f6f6df1 ✍️ @React_lib
ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡΡ Π² React Suspense API https://blog.bitsrc.io/understanding-the-suspense-api-in-react-18-bbea3f6f6df1 ✍️ @React_lib

React
2 645
ПишСм ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ с использованиСм React, Nest ΠΈ NX. Π§Π°ΡΡ‚ΡŒ 1: настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π’ сСрии статСй ΠΌΡ‹ поэтапно Ρ€Π°Π·Ρ€Π°Π±
ПишСм ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ с использованиСм React, Nest ΠΈ NX. Π§Π°ΡΡ‚ΡŒ 1: настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π’ сСрии статСй ΠΌΡ‹ поэтапно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ. Π‘Π½Π°Ρ‡Π°Π»Π° создадим ΠΈ настроим ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ c ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NX, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ интСрфСйс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ React, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ backend Π½Π° основС NestJS, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… MongoDB. ✍️ @React_lib

React
2 645
UI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для React: Ρ‚ΠΎΠΏ-10 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² https://dev.to/nilanth/10-react-packages-with-1k-ui-components-2bf3 ✍
UI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для React: Ρ‚ΠΎΠΏ-10 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² https://dev.to/nilanth/10-react-packages-with-1k-ui-components-2bf3 ✍️ @React_lib

React
2 645
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования useDeferredValue Дэн Абрамов подСлился ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования Ρ…ΡƒΠΊΠ° useDeferredValue ΠΈΠ· React 18: function Form() { const [state, setState] = useState({ value: "hello" }) const deferredState = useDeferredValue(state) // ... Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ deferredState Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…, Ρ€Π΅Π½Π΄Π΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ срочный: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вычислСниС слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ debounce. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ state Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π² элСмСнтах ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, input. ✍️ @React_lib

React
2 645
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π² React - Formik. Одна ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ. Π£ΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ асинхронно, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ TypeScript, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· Yup ΠΈΠ»ΠΈ Joi. Π’ Formik Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для создания Ρ„ΠΎΡ€ΠΌΡ‹: Form, Field, ErrorMessage, Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ…ΡƒΠΊ useFormik.  - React Hook Form. Гибкая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания Ρ„ΠΎΡ€ΠΌ Ρ‡Π΅Ρ€Π΅Ρ… Ρ…ΡƒΠΊΠΈ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ TypeScript ΠΈ React Native. Π£ΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈΠ½ΠΏΡƒΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· ref Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚. Если ΠΈΠ½ΠΏΡƒΡ‚ кастомный, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· Material UI, Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Controller.  - React Final Form. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Observer для обновлСния состояния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ€Π΅-Ρ€Π΅Π½Π΄Π΅Ρ€Π°. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, Π² состав Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ входят ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Form, Field, Ρ‚Π°ΠΊ ΠΈ Ρ…ΡƒΠΊΠΈ. ΠœΠ΅ΠΉΠ½Ρ‚Π΅Π½Π΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Erik Rasmussen, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Redux Form, считаСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„ΠΈΡ‡Π΅ΠΉ React Final Form Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ✍️ @React_lib

React
2 645
React Hooks: useState Π₯ΡƒΠΊ useState() ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для управлСния состояниСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Данная функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ°Ρ€Ρƒ Π³Π΅Ρ‚Ρ‚Π΅Ρ€/сСттСр - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для обновлСния этого значСния. Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ сигнатуру: const [value, setValue] = useState(defaultValue). ОбновлСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния const UpdateState = () => { const [age, setAge] = useState(19) const handleClick = () => setAge(age + 1) return ( <> <p>МнС {age} Π»Π΅Ρ‚.</p> <button onClick={handleClick}>Π‘Ρ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠ΅!</button> </> ) } ОбновлСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… состояний const MultipleStates = () => { const [age, setAge] = useState(19) const [num, setNum] = useState(1) const handleAge = () => setAge(age + 1) const handleNum = () => setNum(num + 1) return ( <> <p>МнС {age} Π»Π΅Ρ‚.</p> <p>Π£ мСня {num} Π±Ρ€Π°Ρ‚ΡŒΠ΅Π² ΠΈ сСстСр.</p> <button onClick={handleAge}>Π‘Ρ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠ΅!</button> <button onClick={handleNum}>Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π±Ρ€Π°Ρ‚ΡŒΠ΅Π² ΠΈ сСстСр!</button> </> ) } ОбновлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° состояния const StateObject = () => { const [state, setState] = useState({ age: 19, num: 1 }) const handleClick = (val) => setState({ ...state, [val]: state[val] + 1 }) const { age, num } = state return ( <> <p>МнС {age} Π»Π΅Ρ‚.</p> <p>Π£ мСня {num} Π±Ρ€Π°Ρ‚ΡŒΠ΅Π² ΠΈ сСстСр.</p> <button onClick={() => handleClick('age')}>Π‘Ρ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠ΅!</button> <button onClick={() => handleClick('num')}> Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π±Ρ€Π°Ρ‚ΡŒΠ΅Π² ΠΈ сСстСр! </button> </> ) } Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ const CounterState = () => { const [count, setCount] = useState(0) return ( <> <p>Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика: {count}.</p> <button onClick={() => setCount(0)}>Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ</button> <button onClick={() => setCount((prevVal) => prevVal + 1)}> Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ (+) </button> <button onClick={() => setCount((prevVal) => prevVal - 1)}> Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ (-) </button> </> ) } Π‘ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ const Profile = () => { const [profile, setProfile] = useState({ firstName: 'Иван', lastName: 'ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²' }) const handleChange = ({ target: { value, name } }) => { setProfile({ ...profile, [name]: value }) } const { firstName, lastName } = profile return ( <> <h1>ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ</h1> <form> <input type='text' value={firstName} onChange={handleChange} name='firstName' /> <br /> <input type='text' value={lastName} onChange={handleChange} name='lastName' /> </form> <p> Имя: {firstName} <br /> Ѐамилия: {lastName} </p> </> ) } ✍️ @React_lib

React
2 645
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ React ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Ρ‚ΠΎ для поиска ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ React ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Ρ‚ΠΎ для поиска ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты: - React DevTools Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ инструмСнт ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ React прилоТСния. Π£ΠΌΠ΅Π΅Ρ‚ ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ perfomance ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ прилоТСния, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ отрСндСрился ΠΈ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° это ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ. - Why Did You Render (WDYR) Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ³ΠΎ React DevTools ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Ρ‚ΡŒ, поэтому Π² процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ WDYR. Π­Ρ‚ΠΎΡ‚ инструмСнт Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ€Π΅Π½Π΄Π΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ. НапримСр, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ пропса ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, поэтому этот ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ рСндСрится ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ создаСтся. ΠΠ°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ WDYR отправляСт Π² Π»ΠΎΠ³ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. - React Render Tracker Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ для отслСТивания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния ✍️ @React_lib

React
2 645
Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ startTransition Ricky Hanlon ΠΏΠΎΠΊΠ°Π·Π°Π» ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ API startTransition ΠΈΠ· React 18, с объяснСниСм Ρ€Π°Π±ΠΎΡ‚Ρ‹ API ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² perfomance ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅.    Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ слайдСр ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с «тяТСлыми вычислСниями», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Ρ€Π΅Π½Π΄Π΅Ρ€Π°, особСнно Π½Π° слабых устройствах. ПослС измСнСния значСния слайдСра происходил Ρ€Π΅Ρ€Π΅Π½Π΄Π΅Ρ€ тяТСлого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Π‘Π°ΠΌΡ‹ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€Π° тяТСлого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² React 17 Ρ‡Π΅Ρ€Π΅Π· debounce, Ρ‚.Π΅. откладывая Ρ€Π΅Π½Π΄Π΅Ρ€ Π½Π° измСнСния слайдСра.  Π’ React 18 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ значСния слайдСра достаточно ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² startTransition, ΠΈ React ΡƒΠΆΠ΅ сам Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ эффСктивный Ρ€Π΅Π½Π΄Π΅Ρ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. ПослС Ρ€Π΅Π½Π΄Π΅Ρ€Π° измСнСния значСния слайдСра, React Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ transition Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² этом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³, React Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ: - Yielding: ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 мс React ставит Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π΅Π½Π΄Π΅Ρ€Π° Π½Π° ΠΏΠ°ΡƒΠ·Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ промисы.  - ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅: React ставит Ρ€Π΅Π½Π΄Π΅Ρ€ Π½Π° ΠΏΠ°ΡƒΠ·Ρƒ, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»Π·ΡƒΠ½ΠΎΠΊ слайдСра ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. - ΠžΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°Π½ΠΈΠ΅ старых Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²: ΠΊΠΎΠ³Π΄Π° React Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ послС прСрывания, Ρ‚ΠΎ ΠΎΠ½ отбрасываСт старый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ. https://github.com/reactwg/react-18/discussions/65 ✍️ @React_lib

React - Telegram kanali @react_lib statistikasi va tahlili