Деструктуризация в React. Очевидно, но важно
Деструктуризация, которая появилась в стандарте ES6, уже не вызывает вопросов у многих из нас, есть большое количество статей, раскрывающих ее возможности. В основном, мы все тесно с ней дружим и пользуемся.
Казалось бы, что можно рассказать о том, о чем все и так знают? Но практика и чтение статей на Хабре, показали, что есть некоторые нюансы использования деструктуризации в React, о которых не все из нас знают или просто не задумываются, хотя они и являются очевидными.
Как часто Вам приходилось сталкиваться с подобным кодом?
https://habr.com/ru/articles/804187/
✍️ @React_lib
Деструктуризация, которая появилась в стандарте ES6, уже не вызывает вопросов у многих из нас, есть большое количество статей, раскрывающих ее возможности. В основном, мы все тесно с ней дружим и пользуемся.
Казалось бы, что можно рассказать о том, о чем все и так знают? Но практика и чтение статей на Хабре, показали, что есть некоторые нюансы использования деструктуризации в React, о которых не все из нас знают или просто не задумываются, хотя они и являются очевидными.
Как часто Вам приходилось сталкиваться с подобным кодом?
export default function ParentComponent ({ post }) {
const { images, title } = post
return (
<ChildComponent images={images} title={title} />
)
}
https://habr.com/ru/articles/804187/
✍️ @React_lib
👍3
React-query
Хуки для получения, кэширования и обновления асинхронных данных в React
• Transport/Protocol/Backend независимая выборка данных (REST, GraphQL, promises, что угодно!)
• Автоматическое кэширование + выборка (stale-while-revalidate, Window Refocus, Polling/Realtime)
• Параллельные + зависимые запросы
• Мутации + Reactive выборка запросов
• Многослойный кэш + автоматический сборщик «мусора» (garbage collector)
• Load-More + Infinite Scroll Queries w/ Scroll Recovery
• Отмена запросов и многое друго
https://github.com/TanStack/query
✍️ @React_lib
Хуки для получения, кэширования и обновления асинхронных данных в React
• Transport/Protocol/Backend независимая выборка данных (REST, GraphQL, promises, что угодно!)
• Автоматическое кэширование + выборка (stale-while-revalidate, Window Refocus, Polling/Realtime)
• Параллельные + зависимые запросы
• Мутации + Reactive выборка запросов
• Многослойный кэш + автоматический сборщик «мусора» (garbage collector)
• Load-More + Infinite Scroll Queries w/ Scroll Recovery
• Отмена запросов и многое друго
https://github.com/TanStack/query
✍️ @React_lib
👍4
Понимаем полностью useMemo и useCallback
Экскурсия по двум самым известным хукам в React
Если вы изо всех сил пытались разобраться в useMemo и useCallback, вы не одиноки! Я разговаривал со многими разработчиками React, которые cломали голову над этими двумя хуками.
Моя цель в этом здесь — прояснить всю эту путаницу. Мы узнаем, что они делают, почему они полезны и как получить от них максимальную пользу.
https://habr.com/ru/articles/807139/
✍️ @React_lib
Экскурсия по двум самым известным хукам в React
Если вы изо всех сил пытались разобраться в useMemo и useCallback, вы не одиноки! Я разговаривал со многими разработчиками React, которые cломали голову над этими двумя хуками.
Моя цель в этом здесь — прояснить всю эту путаницу. Мы узнаем, что они делают, почему они полезны и как получить от них максимальную пользу.
https://habr.com/ru/articles/807139/
✍️ @React_lib
👍3
Media is too big
VIEW IN TELEGRAM
React-magic-motion
Это библиотека react.js, которая ✨ волшебным образом анимирует ваши компоненты.
https://www.react-magic-motion.com/
✍️ @React_lib
Это библиотека react.js, которая ✨ волшебным образом анимирует ваши компоненты.
https://www.react-magic-motion.com/
✍️ @React_lib
👍7🔥2
Media is too big
VIEW IN TELEGRAM
Разделение логики и представления в React-приложении
Самыми популярными подходами в декомпозиции React-компонентов являются hoc и hook. Т.е. компоненты высшего порядка и кастомные хуки. С их помощью можно сделать приложение более гибким и легче тестируемым, однако сами подходы немного разнятся.
00:00 Постановка задачи
02:13 HOC - компоненты высшего порядка
16:34 Hooks - кастомные хуки
26:39 Подведение итогов
источник
✍️ @React_lib
Самыми популярными подходами в декомпозиции React-компонентов являются hoc и hook. Т.е. компоненты высшего порядка и кастомные хуки. С их помощью можно сделать приложение более гибким и легче тестируемым, однако сами подходы немного разнятся.
00:00 Постановка задачи
02:13 HOC - компоненты высшего порядка
16:34 Hooks - кастомные хуки
26:39 Подведение итогов
источник
✍️ @React_lib
👍2
React 19 больше не будет поддерживать
Вам придется использовать
https://github.com/facebook/react/pull/28896
✍️ @React_lib
fetch()
🌶🌶🌶Вам придется использовать
React.cache()
, чтобы избежать дублирования запросов fetch().https://github.com/facebook/react/pull/28896
✍️ @React_lib
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3
Авторизация в React - базовые сведения
Вэтой статье я хочу рассказать об архитектуре приложения, реализующего функцию аутентификации и авторизации. Статья построена на минималистичном примере. Тут главное понять концепцию. Сделав это, приложение можно дополнить новым функционалом и включить в любое своё приложение.
https://danshin.ms/simple-login-react-app/
✍️ @React_lib
Вэтой статье я хочу рассказать об архитектуре приложения, реализующего функцию аутентификации и авторизации. Статья построена на минималистичном примере. Тут главное понять концепцию. Сделав это, приложение можно дополнить новым функционалом и включить в любое своё приложение.
https://danshin.ms/simple-login-react-app/
✍️ @React_lib
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ Вместо того чтобы смешивать бизнес-логику в компонентах React, мне нравится создавать небольшие и предсказуемые абстракции reducer с помощью
✍️ @React_lib
useReducer
✍️ @React_lib
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ useEffect против useLayoutEffect
✍️ @React_lib
useEffect
: асинхронный и не задерживает отрисовку DOM в браузере.useLayoutEffect
: синхронный, и он задерживает отрисовку DOM для браузера. Он выполняет свой код непосредственно перед отрисовкой в браузере. ✍️ @React_lib
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по React💡
Отложите создание non-primitive values, если вы используете их в массиве зависимостей.
✍️ @React_lib
Отложите создание non-primitive values, если вы используете их в массиве зависимостей.
✍️ @React_lib
👍3
Переход на React
В Daily Dev рассказали, как мигрировали с Preact на React, стремясь решить проблемы разработки и повысить производительность. Переход, осуществленный в ходе командного хакатона, потребовал значительного планирования, тестирования и корректировки кодовой базы. Этот переход обеспечил лучшую совместимость с Next.js, улучшил опыт разработки и подготовил платформу к будущим технологическим достижениям.
https://daily.dev/blog/moving-back-to-react
✍️ @React_lib
В Daily Dev рассказали, как мигрировали с Preact на React, стремясь решить проблемы разработки и повысить производительность. Переход, осуществленный в ходе командного хакатона, потребовал значительного планирования, тестирования и корректировки кодовой базы. Этот переход обеспечил лучшую совместимость с Next.js, улучшил опыт разработки и подготовил платформу к будущим технологическим достижениям.
https://daily.dev/blog/moving-back-to-react
✍️ @React_lib
👍1
Создание и отправка электронных писем с помощью React
Коллекция высококачественных нестилевых компонентов для создания красивых электронных писем с использованием React и TypeScript. Благодаря поддержке темного режима он снижает сложность создания отзывчивых писем. Кроме того, он позаботится о несоответствиях между Gmail, Outlook и другими почтовыми клиентами.
https://github.com/resendlabs/react-email
✍️ @React_lib
Коллекция высококачественных нестилевых компонентов для создания красивых электронных писем с использованием React и TypeScript. Благодаря поддержке темного режима он снижает сложность создания отзывчивых писем. Кроме того, он позаботится о несоответствиях между Gmail, Outlook и другими почтовыми клиентами.
https://github.com/resendlabs/react-email
✍️ @React_lib
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ React 19 будет поставляться с хуком useOptimistic(): сделайте вид, что все пойдет как надо... если не пойдет.
✍️ @React_lib
✍️ @React_lib
👍3
Как я уменьшил размер образа Docker с 1,43 ГБ до 22,4 МБ
Если вы занимаетесь веб-разработкой, то, вероятно, уже знаете об идее контейнеризации и о том, как это здорово и все такое.
Но при работе с Docker размер образа вызывает серьезные опасения. Зачастую он превышает 1,43 ГБ только для шаблонного проекта, который мы получаем из create-react-app.
Сегодня мы будем контейнеризовать ReactJS-приложение и узнаем несколько приемов, позволяющих уменьшить размер образа и при этом повысить производительность.
Трюки будут показаны для ReactJS, но они применимы к любому NodeJS-приложению.
https://dev.to/mohammadfaisal/how-i-reduced-docker-image-size-from-143-gb-to-224-mb-53nc
✍️ @React_lib
Если вы занимаетесь веб-разработкой, то, вероятно, уже знаете об идее контейнеризации и о том, как это здорово и все такое.
Но при работе с Docker размер образа вызывает серьезные опасения. Зачастую он превышает 1,43 ГБ только для шаблонного проекта, который мы получаем из create-react-app.
Сегодня мы будем контейнеризовать ReactJS-приложение и узнаем несколько приемов, позволяющих уменьшить размер образа и при этом повысить производительность.
Трюки будут показаны для ReactJS, но они применимы к любому NodeJS-приложению.
https://dev.to/mohammadfaisal/how-i-reduced-docker-image-size-from-143-gb-to-224-mb-53nc
✍️ @React_lib
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ При изучении React мне больше всего пришлось столкнуться с проблемой разделения задач.
Вот пример того, как можно отделить бизнес-логику от пользовательского интерфейса в React
✍️ @React_lib
Вот пример того, как можно отделить бизнес-логику от пользовательского интерфейса в React
✍️ @React_lib
👍2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ Совет по React💡
Как сделать интерактивные HTML-узлы доступными для родительских компонентов с помощью хука
✍️ @React_lib
Как сделать интерактивные HTML-узлы доступными для родительских компонентов с помощью хука
useImperativeHandle
.✍️ @React_lib
👍3