React @react_lib Channel on Telegram

React

@react_lib


Подборки по React js и все что с ним связано. По всем вопросам @evgenycarter

React (Russian)

Вы являетесь разработчиком или просто интересуетесь технологиями в сфере веб-разработки? Тогда канал @react_lib идеально подойдет для вас! Здесь вы найдете подборки по React js и все, что с ним связано. React js - это популярная JavaScript-библиотека, которая используется для создания интерактивных пользовательских интерфейсов. Этот канал предоставляет вам актуальную информацию, советы, ресурсы и многое другое по данной тематике. Если у вас возникли вопросы или вам нужна помощь, обратитесь к @evgenycarter для консультации. Присоединяйтесь к нашему каналу и узнавайте все новинки и секреты React js вместе с нами!

React

16 Feb, 16:44


🚀 Оптимизация React-приложения: 5 техник, которые работают

Сегодня расскажу вам, как можно ускорить работу React-приложения, если оно начинает тормозить.

1️⃣ Используйте React.memo
Если ваш компонент ререндерится без причины, оберните его в React.memo(). Это предотвратит ненужные перерисовки, если пропсы не изменились.


const OptimizedComponent = React.memo(({ data }) => {
return <div>{data}</div>;
});


2️⃣ Оптимизируйте контекст с useMemo и useCallback
Частая ошибка — передача в useContext сложных объектов без мемоизации. Используйте useMemo и useCallback для оптимизации.


const value = useMemo(() => ({ user, logout }), [user]);


3️⃣ Разбейте состояние на атомарные части
Часто программисты хранят весь стейт в одном useState, но лучше разбить его на части. Так обновление одной переменной не будет вызывать ререндер всего компонента.


const [name, setName] = useState("");
const [age, setAge] = useState(0);


4️⃣ Динамическая подгрузка компонентов (Code Splitting)
Если у вас большое приложение, используйте React.lazy для загрузки компонентов по требованию.


const LazyComponent = React.lazy(() => import("./BigComponent"));


5️⃣ Используйте производительные списки
Если у вас много элементов (список в 1000+ элементов), используйте виртуализацию, например, react-window или react-virtualized.


import { FixedSizeList as List } from "react-window";

<List height={400} itemCount={items.length} itemSize={35}>
{({ index, style }) => <div style={style}>{items[index]}</div>}
</List>;


✍️ @React_lib

React

11 Feb, 18:48


Избегайте использования нескольких переменных состояния для отслеживания статуса.

Вместо этого используйте перечисления (enums).

✍️ @React_lib

React

04 Feb, 20:27


Интерактивное руководство по рендерингу в React

В чистом виде React - это библиотека для построения пользовательских интерфейсов. Она настолько проста, что всю ментальную модель можно представить в виде формулы v = f(s) - где ваше представление является просто функцией вашего состояния.

Хотя это уравнение дает нам простую мысленную модель работы React, есть один аспект уравнения, который до сих пор, после стольких лет, кажется, смущает людей. Когда и как именно вызывается f? Или, говоря иначе, когда и как React обновляет представление?

Этой, казалось бы, простой теме посвящено множество постов в блогах, докладов на конференциях и сообщений в твиттере. И все же почему-то даже опытные разработчики React имеют некоторые (часто неизвестные) заблуждения на этот счет.

https://ui.dev/why-react-renders

✍️ @React_lib

React

04 Feb, 08:58


🔥Podlodka React Crew – онлайн-конференция для React-разработчиков.

И в новом сезоне ребята решили разобраться, какие инструменты и знания включают в роадмапы профессионального развития и насколько они применимы.

Что в программе:

💬 Говорим на одном языке с пользователями: i18n в React-приложениях Виталий Баев, контрибьютор Next.js и Vite 🌍 Как выбрать инструменты и сделать интерфейс удобным для всех?

📡 OpenTelemetry для фронтенд-разработчика Валерий Катцин, frontend-разработчик в Точке 📊 Как собирать данные о работе приложения и использовать их для улучшения продукта?

🔥 "Долгожданный" React 19 – Алекс Рассудихин, разработчик с опытом во Vue, React, Next и Astro 🚀 Какие фичи вышли в продакшен, а какие – нет?

🤖 AI Integrated Developer Experience – Марк Байдебура, Senior Full-stack Engineer в Influencer 🧠 Где AI реально помогает, а где пока его лучше не использовать?

📅 Конференция пройдет 10-14 февраля.

Ты не просто узнаешь по новые фичи и подходы, но и определишься, какие из них включить в свой roadmap и как расти дальше.

🔗 Регистрируйтесь: podlodka.io/reactcrew

React

04 Feb, 05:01


⚛️ Совет по React: Используйте пользовательский хук для управления состоянием массивов в ваших компонентах.

✍️ @React_lib

React

01 Feb, 11:27


Эффективное тестирование хуков React с помощью Vitest

В этой статье рассматривается использование Vitest и библиотеки React Testing Library для модульного тестирования хуков React таким образом, чтобы их было легко поддерживать и расширять.

https://mayashavin.com/articles/test-react-hooks-with-vitest

✍️ @React_lib

React

31 Jan, 11:05


React 19: что нового в самой популярной библиотеке для создания интерфейсов? Узнайте первыми!

Новые хуки, улучшения рефов, кастомные элементы — React становится ещё удобнее. И мы готовы рассказать, как использовать это на практике.

Хотите быть на пике технологий? На открытом вебинаре 6 февраля в 19:00 мск разберём, как применять нововведения React 19 в реальных проектах.

Все участники получат скидку на большое обучение «React.js Developer» — идеальный способ прокачать навыки.

Записаться: https://vk.cc/cI3bho

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

React

31 Jan, 09:59


⚛️ Если вы используете fetch() в useEffect, вам, вероятно, стоит посмотреть это короткое видео

✍️ @React_lib

React

31 Jan, 08:10


React.js with typescript

#1 : Introduction to React.js
#2 : Creating React App
#3 : React Components
#4 : React Variables in Components
#5 : Styling in React
#6 : Using Buttons and Click Events
#7 : Usage of useState() hook

источник

✍️ @React_lib

React

28 Jan, 08:54


Открытый урок «Оптимизация работы компонентов в React.js».
Когда: 29 января в 20:00 мск.

На вебинаре вы узнаете:
- Как работать с оптимизацией в React.js
- Особенности работы функциональных компонентов и хуков
- Трюк с мемоизацией коллбеков для списка элементов

Встречаемся в преддверии старта курса «React.js Developer» Otus.
Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cHW678

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

React

27 Jan, 21:39


8 лучших практик проектирования компонентов React.js

React - одна из самых популярных библиотек JavaScript для создания пользовательских интерфейсов, и одна из причин ее популярности - компонентно-ориентированная архитектура. React поощряет создание пользовательского интерфейса на основе многократно используемых компонентов, что позволяет разработчикам создавать сложные пользовательские интерфейсы более эффективно.

https://dev.to/blossom/8-best-practices-for-reactjs-component-design-4jn5

✍️ @React_lib

React

24 Jan, 19:28


Избегайте использования объектов в качестве зависимостей в React.useEffect()

Вместо этого используйте примитивные ключи

✍️ @React_lib

React

18 Jan, 15:01


Лучшие практики для написания тестов с использованием React Testing Library

В статье рассматриваются способы повышения качества тестов, написанных с использованием React Testing Library. Автор делится практическими советами, которые помогут вам писать более надежные и поддерживаемые тесты. Среди ключевых моментов:

- Как избегать тестирования реализаций и сосредотачиваться на поведении компонентов.
- Почему важно работать с пользовательскими событиями вместо прямого взаимодействия с DOM.
- Использование ARIA-атрибутов для более точного поиска элементов.

Эти подходы помогают создавать тесты, которые лучше отражают реальное использование компонентов и упрощают их сопровождение.



export const Form = ({ saveData }) => {
const [state, setState] = useState({
name: "",
email: "",
password: "",
confirmPassword: "",
conditionsAccepted: false,
});

const onFieldChange = (event) => {
let value = event.target.value;
if (event.target.type === "checkbox") {
value = event.target.checked;
}

setState({ ...state, [event.target.id]: value });
};

const onSubmit = (event) => {
event.preventDefault();
saveData(state);
};

return (
<form className="form" onSubmit={onSubmit}>
<div className="field">
<label>Name</label>
<input
id="name"
onChange={onFieldChange}
placeholder="Enter your name"
/>
</div>
<div className="field">
<label>Email</label>
<input
type="email"
id="email"
onChange={onFieldChange}
placeholder="Enter your email address"
/>
</div>
<div className="field">
<label>Password</label>
<input
type="password"
id="password"
onChange={onFieldChange}
placeholder="Password should be at least 8 characters"
/>
</div>
<div className="field">
<label>Confirm password</label>
<input
type="password"
id="confirmPassword"
onChange={onFieldChange}
placeholder="Enter the password once more"
/>
</div>
<div className="field checkbox">
<input type="checkbox" id="conditions" onChange={onFieldChange} />
<label>I agree to the terms and conditions</label>
</div>
<button type="submit">Sign up</button>
</form>
);
};





https://claritydev.net/blog/improving-react-testing-library-tests

✍️ @React_lib

React

06 Jan, 07:53


Лучшие практики разработки сложных приложений на основе форм с помощью React Hook Form и поддержки TypeScript

Ранее я уже погружался в сферу интеграции React Hook Form с Redux, изучая способы использования возможностей этих двух важнейших инструментов для создания динамических форм в приложениях React. Однако на этом мое путешествие не закончилось. В процессе работы над этим проектом я погрузился в тонкости разработки сложных приложений на основе форм. Глубокое погружение в разработку форм открыло для меня множество повторяющихся паттернов, бесценных лучших практик и идей, которые существенно повлияли на мой подход к коду, принятию решений и архитектурному дизайну - особенно при работе над крупными приложениями на основе форм.

https://orizens.com/blog/best_practices_for_developing_complex_form-based_apps_with_react_hook_form_and_typescript_support/

✍️ @React_lib

React

28 Dec, 10:01


Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин

https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

React

28 Dec, 08:49


Коварные утечки памяти в React: как можно обжечься на useCallback и замыканиях

Я работаю в Ramblr, это ИИ-стартап, где мы строим на React сложные приложения для аннотирования видео. Недавно мне попалась сложная утечка памяти, которая возникает при одновременном использовании замыканий JavaScript и хука useCallback в React. Поскольку я вырос на .NET, мне потребовалось немало времени, чтобы разобраться в происходящем. Поэтому я решил написать этот пост и рассказать вам, чему меня научила эта ситуация.

Сначала я кратко напомню вам, как устроены замыкания, но можете смело пропустить этот раздел, если вы уже хорошо знаете, как устроен этот механизм в JavaScript.

https://schiener.io/2024-03-03/react-closures

✍️ @React_lib

React

26 Dec, 07:59


⚛️ Совет по React💡

Ввод возвращаемых значений пользовательских хуков с помощью TypeScript

✍️ @React_lib

React

21 Dec, 12:53


Построение фильтра поиска в реальном времени в React: Пошаговое руководство

Когда я начал работать с React, одной из распространенных проблем, с которыми я столкнулся, была реализация функции фильтра поиска в реальном времени. Эта функция обновляет отображаемые элементы по мере ввода пользователем текста и показывает все элементы заново, если поисковый фильтр пуст. Поэтому в этом руководстве я расскажу вам о том, как создать эту функцию в React. Мы начнем со списка жестко заданных элементов, а затем перейдем к списку элементов, полученных из API.

https://dev.to/alais29/building-a-real-time-search-filter-in-react-a-step-by-step-guide-3lmm

✍️ @React_lib

React

17 Dec, 10:24


Построение уникальных диаграмм React

Эта галерея, основанная на сотнях примеров графиков, познакомит вас с основными концепциями визуализации данных с помощью React и D3.js. В ней также представлены готовые к использованию шаблоны, позволяющие быстрее приступить к работе.

https://www.react-graph-gallery.com/

✍️ @React_lib

React

12 Dec, 08:56


No Outer margin

В статье обсуждается проблема использования внешних отступов (outer margin) в веб-дизайне. Автор объясняет, почему лучше избегать их в пользу внутренних отступов (padding) для компонентов. Основной аргумент: внутренние отступы делают дизайн более предсказуемым и гибким, упрощая настройку элементов и их позиционирование.
Статья также содержит примеры и рекомендации для практического применения в современной веб-разработке.

Что такое «внешние» отступы и padding?

Здесь термин «внешние» относится к отступам, которые выходят за границы border-box пользовательского интерфейса. В основном это касается случаев, когда margin применяется к самому внешнему элементу компонента.


function Card({ children }) {
return (
// WARNING: Don't do this! It is an outer `margin`!
<div style={{ marginBottom: '1rem' }}>{children}</div>
)
}

function EmployeeCard({ name, occupation }) {
return (
<Card>
{/**
* This is fine! We can use internal margins for layout,
* but there are better ways we'll learn later!
*/}
<div style={{ marginBottom: '1rem' }}>{name}</div>
<div>{occupation}</div>
</Card>
)
}


https://kyleshevlin.com/no-outer-margin/

✍️ @React_lib

React

08 Dec, 09:08


Избегаем ошибки гидратации с помощью useSyncExternalStore

Статья рассматривает, как разработчики могут эффективно справляться с проблемами, связанными с несовпадением данных при гидратации в React. Гидратация — это процесс, при котором серверный рендеринг синхронизируется с клиентским. Ошибки на этом этапе могут приводить к неожиданным багам.

Основная идея заключается в использовании хука useSyncExternalStore, который помогает синхронизировать состояние внешнего источника данных с React-компонентами. Это особенно полезно для библиотек или приложений с критичными требованиями к корректности данных, таких как те, что полагаются на глобальные состояния или сложные асинхронные обновления.

Статья также объясняет причины появления гидрационных ошибок и предлагает практические подходы для их минимизации, например, правильное управление состоянием и использование актуальных инструментов React для синхронизации данных.


const emptySubscribe = () => () => {}

function LastUpdated() {
const date = React.useSyncExternalStore(
emptySubscribe,
() => lastUpdated.toLocaleDateString(),
() => lastUpdated.toLocaleDateString('en-US')
)

return <span>Last updated at: {date}</span>
}


https://tkdodo.eu/blog/avoiding-hydration-mismatches-with-use-sync-external-store

✍️ @React_lib

React

02 Dec, 12:00


Как использовать автофокус с помощью React Hooks

В веб-разработке автофокус играет важную роль, улучшая пользовательский опыт за счёт автоматического фокусирования на полях ввода при загрузке страницы или в ответ на определённые действия пользователя. В этой статье будет показано, как реализовать эту функцию в React с использованием хуков.

https://blog.openreplay.com/how-to-autofocus-using-react-hooks/

✍️ @React_lib

React

25 Nov, 21:14


👩‍💻 Курс по Electron - Создание настольных приложений (включая React и TypeScript)

Изучите, как использовать Electron, React и TypeScript для создания настольных приложений. В ходе этого курса вы узнаете всё: от настройки среды разработки до внедрения продвинутых функций, таких как визуализация данных, безопасная коммуникация и кастомные рамки окон, при этом обеспечивая безупречный пользовательский опыт.

⌨️ 0:00:00 Intro & How electron works
⌨️ 0:08:31 Setting up React
⌨️ 0:11:45 Setting up Electron
⌨️ 0:17:41 Adding TypeScript
⌨️ 0:22:47 Configuring Electron-Builder
⌨️ 0:29:07 DX Improvements
⌨️ 0:35:16 Reading System Resources
⌨️ 0:46:25 Communicating with the UI
⌨️ 1:09:34 Making IPC Typesafe
⌨️ 1:32:10 Event Validation
⌨️ 1:39:55 Unsubscribing from Events
⌨️ 1:43:55 Data Visualisation
⌨️ 2:00:24 Securing the App
⌨️ 2:06:53 Creating Tray Elements
⌨️ 2:14:40 Hiding to the Tray
⌨️ 2:27:31 Customising the Menu Bar
⌨️ 2:35:01 Enable View Switching
⌨️ 2:40:02 Custom Window Frames
⌨️ 2:51:00 Testing Theory
⌨️ 2:53:26 E2E Tests
⌨️ 3:06:27 Unit Tests
⌨️ 3:19:19 Finalising the UI
⌨️ 3:33:03 Outro

источник

✍️ @React_lib

React

25 Nov, 12:01


Хотите улучшить производительность ваших React-приложений и освоить современные методы разработки?

Присоединяйтесь к нашему бесплатному вебинару "Использование хуков и мемоизации для оптимизации React-приложений"!

На вебинаре вы узнаете:
- Основные API хуки: useState, useEffect, useRef, useContext.
- Как использовать хуки для управления состоянием и побочными эффектами в React-приложениях.
- Как применять мемоизацию для оптимизации производительности компонентов с помощью useCallback, useMemo и React.memo.

Этот вебинар будет полезен:
- Новичкам, стремящимся освоить React и познакомиться с современными методами разработки и оптимизации.
- JavaScript-разработчикам, которые хотят углубить понимание React и познакомиться с современными техниками управления состоянием и побочными эффектами.
- Frontend-разработчикам, стремящимся улучшить производительность своих React-приложений.

Не упустите возможность повысить свои навыки и улучшить свои проекты!

Зарегистрируйтесь на вебинар прямо сейчас и начните оптимизировать свои React-приложения уже сегодня: https://vk.cc/cFgcHD

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

React

23 Nov, 12:08


Как использовать forwardRef с generic компонентами

Статья объясняет, как использовать forwardRef с обобщенными компонентами в TypeScript. Она рассматривает проблемы forwardRef с типизацией обобщенных компонентов и предлагает способ их решения. Этот метод позволяет сохранить типовую безопасность при передаче ссылок на компоненты.

Одно из ограничений forwardRef в том, что он отключает выведение типа для generic компонентов. Например:


const Table = <T,>(
props: {
data: T[];
renderRow: (row: T) => React.ReactNode;
},
ref: React.ForwardedRef<HTMLTableElement>
) => {
/** --snip-- */
};

const ForwardReffedTable = React.forwardRef(Table);

<Table
data={["a", "b"]}
renderRow={(row) => { // Тип выводится: row: string
return <tr>{row}</tr>;
}}
/>;

<ForwardReffedTable
data={["a", "b"]}
renderRow={(row) => { // Тип не выводится: row: unknown
return <tr>{row}</tr>;
}}
/>;


https://www.totaltypescript.com/forwardref-with-generic-components

✍️ @React_lib

React

20 Nov, 12:01


Хотите улучшить производительность ваших 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

React

20 Nov, 11:06


Не используйте React Query для чтения синхронных данных

Не всегда следует использовать React Query только потому, что это возможно.

Это касается, например, localStorage, но также и других случаев.

Если данные можно читать синхронно и подписываться на изменения, используйте useSyncExternalStore().

Отсутствует необходимость обрабатывать состояние загрузки/ошибок.

✍️ @React_lib

React

15 Nov, 07:30


Разработка Telegram Mini App с помощью React

Telegram Mini App — это веб-приложения, которые открываются внутри мессенджера Telegram. Эти приложения создаются с использованием стандартных веб-технологий, таких как HTML, CSS и JavaScript, и выглядят как обыкновенные сайты.

Сегодня рассмотрим, как создать собственный Mini App, используя React.

https://habr.com/ru/companies/timeweb/articles/858382/

✍️ @React_lib

React

12 Nov, 19:07


Подборка библиотек 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

React

12 Nov, 14:02


Бесплатное 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

➡️ Сохраняйте себе, чтобы не потерять

React

12 Nov, 09:26


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_lib

React

11 Nov, 11:09


LLRT (Low Latency Runtime)

LLRT (Low Latency Runtime) — это экспериментальная, легковесная среда выполнения JavaScript, разработанная для удовлетворения растущего спроса на быстрые и эффективные серверлесс-приложения.

https://github.com/awslabs/llrt

✍️ @React_lib

React

11 Nov, 09:09


🔥Тест по React JS от OTUS🔥

— Ответьте на 19 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый онлайн-курс по React.js со скидкой!

🚀ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА ПО REACT.JS https://vk.cc/cEvoIp

Курс доступен в рассрочку.

🎁Пройдете успешно тест, получите доступ к открытым урокам курса.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

React

06 Nov, 13:38


Интерактивное руководство по рендерингу в React

В чистом виде React - это библиотека для построения пользовательских интерфейсов. Она настолько проста, что всю ментальную модель можно представить в виде формулы v = f(s) - где ваше представление является просто функцией вашего состояния.

Хотя это уравнение дает нам простую мысленную модель работы React, есть один аспект уравнения, который до сих пор, после стольких лет, кажется, смущает людей. Когда и как именно вызывается f? Или, говоря иначе, когда и как React обновляет представление?

Этой, казалось бы, простой теме посвящено множество постов в блогах, докладов на конференциях и сообщений в твиттере. И все же почему-то даже опытные разработчики React имеют некоторые (часто неизвестные) заблуждения на этот счет.

https://ui.dev/why-react-renders

✍️ @React_lib

React

01 Nov, 10:18


Я упустил еще какую-то ошибку в useEffect? 😅

Сколько ты насчитал?

✍️ @React_lib

React

31 Oct, 10:02


Хотите узнать, как создать чат-приложение с использованием 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

React

31 Oct, 08:41


Реализация 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

React

26 Oct, 11:21


ReaPer : Инструмент с открытым исходным кодом для анализа производительности React-приложений

https://medium.com/@annako/reaper-an-open-source-dev-tool-to-analyze-react-application-performance-786f1d40f6de

✍️ @React_lib

React

20 Oct, 20:58


Управление типами кортежей

Предположим, у нас есть функция, которая возвращает кортеж, например, пользовательский хук:


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_lib

React

13 Oct, 20:55


⚛️ Мне не нравится встраивать бизнес-логику или логику приложения напрямую в компоненты.

Вместо этого я использую хук useReducer, чтобы отделить бизнес-логику от пользовательского интерфейса.

Более предсказуемые изменения состояния
Лучшая архитектура

✍️ @React_lib

React

10 Oct, 10:48


👀Хотите узнать, какой подход лучше для вашего проекта на Vue.js — Composition API или Options API?

Ждем вас на открытом вебинаре 23 октября в 20:00 мск, где мы разберем:

- сравнение двух подходов: плюсы и минусы каждого;
- стоит ли переводить проект на Composition API;
- начинать ли новый проект на Options API;
- ответы на все возникающие вопросы.

Урок для новичков в Vue.js, которые хотят понять основные подходы и сделать разработку и поддержку приложений более предсказуемыми.

Встречаемся в преддверии старта курса «Vue.js-разработчик». Все участники вебинара получат специальную цену на обучение!

➡️➡️➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cCiafl


Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

React

10 Oct, 05:40


Избегайте создания компонентов с слишком большим количеством пропсов.

Вместо этого используйте паттерн составных компонентов (compound components) в React, чтобы эффективно применять композицию.

✍️ @React_lib

React

09 Oct, 05:43


⚛️ Новости React Compiler - react-compiler-runtime 🔥

Новый официальный экспериментальный пакет для поддержки React v18 + v17 👌

✍️ @React_lib

React

08 Oct, 17:38


⚛️ Один компонент, множество форм: мощь полиморфных компонентов React

✍️ @React_lib

React

08 Oct, 08:30


Хотите освоить прогрессивный фреймворк для создания веб-приложений на JS?

➡️Ждем вас на открытом вебинаре 23 октября в 20:00 мск, где мы разберем:

✔️архитектурные принципы Nest.Js, включая внедрение зависимостей и модульность;
✔️как создавать маршруты, контроллеры и использовать middleware;
✔️как работать с базами данных, включая MongoDB, PostgreSQL и MySQL;
✔️методы тестирования и отладки приложений Nest.Js.

Спикер Николай Лапшин — опытный архитектор, тимлид, преподаватель и разработчик с широким технологическим стеком.

Встречаемся в преддверии старта курса «Node.js Developer». Все участники вебинара получат специальную цену на обучение!
➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cC8B7k

React

08 Oct, 07:20


Избегайте prop-drilling компонентов в React

Вместо этого используйте шаблон Provider/Consumer с помощью Context API

✍️ @React_lib

React

06 Oct, 20:08


Запуск локального React приложения в Android и iOS приложения

Бывают ситуации, когда вам нужно запустить веб-приложение React с мобильного телефона локально. Это означает, что оно полностью обходится без облака, на 100 % состоит из офлайна и абсолютно не требует обращения к удаленному серверу.

В этом руководстве мы покажем вам, как можно собрать приложение Vite и React в приложение для iOS и Android и загрузить его в WKWebView.

https://ditto.live/blog/run-react-locally-in-android

https://ditto.live/blog/run-react-locally-in-ios-app

✍️ @React_lib

React

01 Oct, 11:50


React95

Это библиотека компонентов, созданная на основе дизайна пользовательского интерфейса Windows 95.

https://react95.github.io/React95/?path=/story/all--all

https://github.com/React95/React95

✍️ @React_lib

React

26 Sep, 07:10


Будущее React.use и React.useMemo — мощная альтернатива селекторам контекста

В этой статье я рассмотрю, как оптимизировал проблемный контекст React приложения с помощью библиотеки use-context-selector от Дайши Като, как у меня сформировалось предпочтение в пользу использования селекторов контекста для предотвращения ненужных перерисовок, и как Дэн Абрамов убедил меня, что абстракция, которую я создал для того, чтобы сделать селекторы контекста компонуемыми, была неверным подходом.

https://interbolt.org/blog/react-use-selector-optimization/

✍️ @React_lib

React

18 Sep, 07:42


Больше, чем нужно знать о ReactDOM.flushSync

flushSync является частью того, что я называю "Rare React"; это любопытные и необычные части, внешнее кольцо API, редко используемые особые инструменты. И именно это мне нравится изучать и писать об этом статьи в блог.

Итак, что делает ReactDOM.flushSync и когда это полезно?

Название предполагает, что он выполняет синхронную очистку. Но что такое "очистка", что именно очищается, и когда это должно происходить синхронно? Для чего это нужно?


function Demo() {
const [count, setCount] = useState(0);
const [flag, setFlag] = useState(false);

function handleClick() {
setCount((c) => c + 1);
setFlag((f) => !f);
}

return (
<div>
<button onClick={handleClick}>Next</button>
<h1 style={{ color: flag ? "blue" : "black" }}>
{count}
</h1>
</div>
);
}


https://julesblom.com/writing/flushsync

✍️ @React_lib

React

12 Sep, 06:54


Подборка репозитории GitHub, необходимые каждому разработчику на React


1. 30 Days of React
30 Days of React challenge - это пошаговое руководство по изучению React за 30 дней.

2. Awesome React
Коллекция удивительных вещей, связанных с экосистемой React

3. React Bits
React паттерны, техники, советы и рекомендации

4. React Typescript Cheatsheett-cheatsheets/react
Шпаргалки для опытных разработчиков React, начинающих работать с TypeScript

5. ReactJS Interview Question
Список из 500 вопросов и ответов на собеседования по ReactJS.

✍️ @React_lib

React

11 Sep, 07:50


React и жизнь после сборки

Бывает что на руках есть лишь «бинарная» сборка сайта на модном фреймворке вроде Angular или React, в которой «срочно надо что‑то поправить». А исходного кода нет. Есть лишь вы, «бандл» с обфрусцированным JavaScript‑кодом внутри и горящие сроки. Рассказываю что с этим можно cделать кроме увольнения.

https://habr.com/ru/articles/839464/

✍️ @React_lib

React

07 Sep, 13:27


Структура приложения React.js - лучшие практики

В этой статье рассматриваются лучшие практики структурирования приложений React.js с упором на три основных подхода: Группировка по признакам, Группировка по типу файлов и гибридный подход. В руководстве также рассказывается о том, как интегрировать в структуру приложения современные возможности React, такие как Redux, Hooks, Stateful Container Components, Context API, Testing libraries и Styled-компоненты.

https://www.dotnetcurry.com/reactjs/folder-structure-for-reactjs

✍️ @React_lib

React

02 Sep, 05:33


Избегайте отслеживания изменений ref с помощью useEffect() в React.

Вместо этого используйте функцию обратного вызова ref.

#react

✍️ @React_lib

React

31 Aug, 05:32


⚛️ Одной из самых сложных вещей для меня при изучении React была разделение ответственности.

Когда стоит вынести JSX в новые компоненты? Когда создавать кастомные хуки?
Как можно абстрагировать слой данных от представления?

Вот короткое видео о том, как это сделать

#react

✍️ @React_lib

React

29 Aug, 05:29


⚛️ Совет по React: Если вам нужно импортировать серверный компонент в клиентском компоненте, передайте его как prop (children) ↓

#react

✍️ @React_lib

React

27 Aug, 05:27


⚛️ Совет по React: Используйте кастомный хук для управления состояниями массивов в ваших компонентах.

#react

✍️ @React_lib

React

24 Aug, 06:34


⚛️ Как работает процесс рендеринга в React

#react

✍️ @React_lib

React

23 Aug, 14:25


‼️Тест по React JS от OTUS

— Ответьте на 30 вопросов и проверьте, насколько хорошо вы знаете язык.
Сможете сдать — пройдёте на продвинутый онлайн-курс по React.js по спец. цене!

👉ПРОЙТИ ТЕСТ - https://vk.cc/czLjo4

Курс доступен в рассрочку.

❇️ Пройдите тест и получите:
✔️ Живое общение с экспертами
✔️Получите видео-курс по Git в подарок
✔️ Лучшие открытые уроки прошлых наборов курса
✔️ Продвинутые темы и практика на «боевых» задачах уровня Middle+
✔️ Скидку на прохождение онлайн курса «React.js Developer»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

2,723

subscribers

279

photos

121

videos