React
Open in Telegram
Подборки по React js и все что с ним связано. По всем вопросам @evgenycarter
Show more2 681
Subscribers
No data24 hours
-37 days
-1130 days
Posts Archive
2 681
Хотите улучшить производительность ваших React-приложений и освоить современные методы разработки?
Присоединяйтесь к нашему бесплатному вебинару "Использование хуков и мемоизации для оптимизации React-приложений"!
На вебинаре вы узнаете:
- Основные API хуки: useState, useEffect, useRef, useContext.
- Как использовать хуки для управления состоянием и побочными эффектами в React-приложениях.
- Как применять мемоизацию для оптимизации производительности компонентов с помощью useCallback, useMemo и React.memo.
Этот вебинар будет полезен:
- Новичкам, стремящимся освоить React и познакомиться с современными методами разработки и оптимизации.
- JavaScript-разработчикам, которые хотят углубить понимание React и познакомиться с современными техниками управления состоянием и побочными эффектами.
- Frontend-разработчикам, стремящимся улучшить производительность своих React-приложений.
Не упустите возможность повысить свои навыки и улучшить свои проекты!
Зарегистрируйтесь на вебинар прямо сейчас и начните оптимизировать свои React-приложения уже сегодня: https://vk.cc/cF1xjp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
2 681
❌ Не используйте React Query для чтения синхронных данных
Не всегда следует использовать React Query только потому, что это возможно.
Это касается, например,
localStorage, но также и других случаев.
Если данные можно читать синхронно и подписываться на изменения, используйте useSyncExternalStore().
Отсутствует необходимость обрабатывать состояние загрузки/ошибок.
✍️ @React_lib2 681
Разработка Telegram Mini App с помощью React
Telegram Mini App — это веб-приложения, которые открываются внутри мессенджера Telegram. Эти приложения создаются с использованием стандартных веб-технологий, таких как HTML, CSS и JavaScript, и выглядят как обыкновенные сайты.
Сегодня рассмотрим, как создать собственный Mini App, используя React.
https://habr.com/ru/companies/timeweb/articles/858382/
✍️ @React_lib
2 681
Подборка библиотек React
React существует уже довольно давно. С тех пор вокруг этой библиотеки, основанной на компонентах, сформировалась хорошо развитая, но зачастую перегруженная экосистема библиотек. Разработчикам, приходящим из других языков программирования или библиотек/фреймворков, часто бывает сложно разобраться во всех библиотеках для создания веб-приложений с использованием React.
В своей основе React позволяет создавать интерфейсы, управляемые компонентами, с помощью функциональных компонентов. Он включает встроенные решения, такие как React Hooks для локального состояния, побочных эффектов и оптимизации производительности. Но, в конце концов, здесь вы работаете только с функциями (компонентами и хуками) для создания пользовательского интерфейса.
• Starting a new React Project
• Package Manager for React
• React State Management
• React Data Fetching
• Routing with React Router
• CSS Styling in React
• React UI Libraries
• React Animation Libraries
• Visualization and Chart Libraries in React
• Form Libraries in React
• React Type Checking
• Code Structure in React
• React Authentication
• React Backend
• React Database
• React Hosting
• Testing in React
• React and Immutable Data Structures
• React Internationalization
• Rich Text Editor in React
• Payments in React
• Time in React
• React Desktop Applications
• File Upload in React
• Mails in React
• Drag and Drop
• Mobile Development with React
• React VR/AR
• Design Prototyping for React
• React Component Documentation
✍️ @React_lib
2 681
Бесплатное IT-образование в 2024
Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления
Выбирайте нужное и подписывайтесь:
👩💻 С/С++: @Cpportal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩💻 Golang: @juniorGolang
👩💻 PHP: @PHPortal
👩💻 Моб. разработка: @MobDev
👩💻 Java: @Java_Iibrary
👩💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
👩💻 Python: @PythonPortal
👩💻 C#: @KodBlog
🖥 Базы Данных & SQL: @SQL
👩💻 Разработка игр: @GameDevgx
👩💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign
➡️ Сохраняйте себе, чтобы не потерять
2 681
useContextSelector: Ускорение работы React-приложений
Случалось ли вам иметь контекст, который был настолько велик, что негативно влиял на производительность вашего React-приложения? Это происходит потому, что одно изменение значения контекста приводит к рендерингу всех компонентов, зависящих от этого контекста.
Классический пример - контекст темы, хранящий все цвета, шрифты и другие стили пользовательского интерфейса.
import { createContext, useState } from 'react';
const defaultTheme = { color: '#aabbcc', fontFamily: 'Arial', fontSize: 16 };
export const ThemeContext = createContext(defaultTheme);
export const ThemeContextProvider = ({ value = defaultTheme, children }) => {
const [theme, setTheme] = useState(value);
return (
<ThemeContext.Provider value={{ theme, setTheme }}>
{children}
</ThemeContext.Provider>
);
};
export const useTheme = () => {
const { theme } = useContext(ThemeContext);
return theme;
}
https://marmelab.com/blog/2024/10/16/usecontextselector-a-faster-usecontext-for-react.html
✍️ @React_lib2 681
LLRT (Low Latency Runtime)
LLRT (Low Latency Runtime) — это экспериментальная, легковесная среда выполнения JavaScript, разработанная для удовлетворения растущего спроса на быстрые и эффективные серверлесс-приложения.
https://github.com/awslabs/llrt
✍️ @React_lib
2 681
🔥Тест по React JS от OTUS🔥
— Ответьте на 19 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый онлайн-курс по React.js со скидкой!
🚀ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА ПО REACT.JS https://vk.cc/cEvoIp
Курс доступен в рассрочку.
🎁Пройдете успешно тест, получите доступ к открытым урокам курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru2 681
Интерактивное руководство по рендерингу в React
В чистом виде React - это библиотека для построения пользовательских интерфейсов. Она настолько проста, что всю ментальную модель можно представить в виде формулы v = f(s) - где ваше представление является просто функцией вашего состояния.
Хотя это уравнение дает нам простую мысленную модель работы React, есть один аспект уравнения, который до сих пор, после стольких лет, кажется, смущает людей. Когда и как именно вызывается f? Или, говоря иначе, когда и как React обновляет представление?
Этой, казалось бы, простой теме посвящено множество постов в блогах, докладов на конференциях и сообщений в твиттере. И все же почему-то даже опытные разработчики React имеют некоторые (часто неизвестные) заблуждения на этот счет.
https://ui.dev/why-react-renders
✍️ @React_lib
2 681
Хотите узнать, как создать чат-приложение с использованием React и WebSockets?
На вебинаре вы узнаете:
- Основы WebSockets и их интеграция с React.
- Реализация функциональности чата.
- Управление состоянием и работа с хранилищем данных (обновление интерфейса при изменении состояния).
Этот вебинар будет полезен:
- JavaScript-разработчикам, которые хотят улучшить навыки работы с React и узнать особенности работы и обновления приложения в режиме реального времени.
- Frontend-разработчикам, желающим понять и использовать WebSockets для создания интерактивных приложений.
- Fullstack-разработчикам для дополнения своих знаний и получения навыков интеграции WebSocket серверов с React-приложениями.
После вебинара вы сможете:
- Настроить и управлять WebSocket соединением в React-проектах.
- Управлять состоянием в React-проектах и работать с хранилищами данных для сохранения истории сообщений.
- Применить знания для создания разнообразных приложений реального времени (чаты, системы уведомлений, онлайн-игры).
Урок пройдет 7 ноября в 20:00 мск и будет приурочен к старту большого курса «React.js Developer». После вебинара вы получите специальную цену на обучение и персональную консультацию от менеджеров!
Регистрируйтесь на открытый вебинар прямо сейчас! 👇
https://vk.cc/cDM8oR
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
2 681
Реализация Intersection Observer API в React для определения, когда элемент входит или выходит из области видимости.
Особенности
🪝 Hooks или Component API - С помощью useInView отслеживать элементы проще, чем когда-либо
⚡️ Оптимизированная производительность - Повторно использует экземпляры Intersection Observer, где это возможно
⚙️ Соответствует нативному API - Интуитивно понятен в использовании
🛠 Написан на TypeScript - Легко интегрируется в ваш существующий TypeScript проект
🧪 Готов к тестированию - Моделирует Intersection Observer для легкого тестирования с Jest или Vitest
🌳 Поддержка tree-shaking - Включает только те части, которые вы используете
💥 Маленький размер - Около ~1,15kB для useInView и ~1,6kB для <InView>
https://github.com/thebuilder/react-intersection-observer
✍️ @React_lib
2 681
ReaPer : Инструмент с открытым исходным кодом для анализа производительности React-приложений
https://medium.com/@annako/reaper-an-open-source-dev-tool-to-analyze-react-application-performance-786f1d40f6de
✍️ @React_lib
2 681
Управление типами кортежей
Предположим, у нас есть функция, которая возвращает кортеж, например, пользовательский хук:
function useBool(initialValue = false) {
const [state, setState] = React.useState(initialValue)
const handlers = React.useMemo(
() => ({
on: () => setState(true),
off: () => setState(false),
toggle: () => setState(s => !s),
reset: () => setState(initialValue),
}),
[initialValue],
)
return [state, handlers]
}
const result = useBool()
https://kyleshevlin.com/wrangling-tuple-types/
✍️ @React_lib2 681
⚛️ Мне не нравится встраивать бизнес-логику или логику приложения напрямую в компоненты.
Вместо этого я использую хук
useReducer, чтобы отделить бизнес-логику от пользовательского интерфейса.
✅ Более предсказуемые изменения состояния
✅ Лучшая архитектура
✍️ @React_lib2 681
👀Хотите узнать, какой подход лучше для вашего проекта на Vue.js — Composition API или Options API?
Ждем вас на открытом вебинаре 23 октября в 20:00 мск, где мы разберем:
- сравнение двух подходов: плюсы и минусы каждого;
- стоит ли переводить проект на Composition API;
- начинать ли новый проект на Options API;
- ответы на все возникающие вопросы.
Урок для новичков в Vue.js, которые хотят понять основные подходы и сделать разработку и поддержку приложений более предсказуемыми.
Встречаемся в преддверии старта курса «Vue.js-разработчик». Все участники вебинара получат специальную цену на обучение!
➡️➡️➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cCiafl
Реклама. ООО «Отус онлайн-образование», ОГРН 11777466185762 681
❌ Избегайте создания компонентов с слишком большим количеством пропсов.
✅ Вместо этого используйте паттерн составных компонентов (compound components) в React, чтобы эффективно применять композицию.
✍️ @React_lib
2 681
⚛️ Новости React Compiler - react-compiler-runtime 🔥
Новый официальный экспериментальный пакет для поддержки React v18 + v17 👌
✍️ @React_lib
2 681
Хотите освоить прогрессивный фреймворк для создания веб-приложений на JS?
➡️Ждем вас на открытом вебинаре 23 октября в 20:00 мск, где мы разберем:
✔️архитектурные принципы Nest.Js, включая внедрение зависимостей и модульность;
✔️как создавать маршруты, контроллеры и использовать middleware;
✔️как работать с базами данных, включая MongoDB, PostgreSQL и MySQL;
✔️методы тестирования и отладки приложений Nest.Js.
Спикер Николай Лапшин — опытный архитектор, тимлид, преподаватель и разработчик с широким технологическим стеком.
Встречаемся в преддверии старта курса «Node.js Developer». Все участники вебинара получат специальную цену на обучение!
➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cC8B7k
