React JS
17.6K subscribers
552 photos
59 videos
5 files
628 links
React программирование

@haarrp - admin

@itchannels_telegram - 🔥лучшие ит-каналы

@javascriptv - продвинутый javascript

@programming_books_it - бесплатные it книги

@ai_machinelearning_big_data - ml

№ 5037566384
Download Telegram
🔥 Дайджест полезных материалов из мира : React за неделю

Почитать:
react-query vs SWR и избавимся ли мы от Redux?
Абстрактные типы данных. Изложение для начинающих
Генерируем простой web интерфейс для просмотра таблиц PostgreSQL
Паттерны реактивности в современном JavaScript
Ликбез по распространенным Client-Side уязвимостям
Подробная настройка Content Security Policy (CSP)
RxJS: как операторы высшего порядка упрощают код
Задачи про PEG-парсеры
Просто о Deep #1
Добавление server side Open Graph и прочего SEO в существующую SPA
JU Query: Web App for community based learning (Project)
React interactive Components | Tabs
React Content Rendering
How to start building a Next.js project
Sync Files to Public Folder in Next.js using Chokidar
Deep dive into understanding Props in React
👹🔥 How to Escape JS Framework Hell (Including React) 🔥👹
Crie um modelo de interface Login / Sign Up (UI) em React utilizando Bootstrap 5
🚀 Mastering Advanced Complex React useContext with useReducer (Redux Style)
Talks from SeattleJS Conf 2023 (free)

Посмотреть:
🌐 CSS Anchor Is The Best New CSS Feature Since Flexbox ( 15:39)
🌐 New useFormStatus React Hook ( 01:00)

Хорошего дня!

@react_tg
👍12🔥63🥰1
☹️ Проблема устаревших замыканий и способы ее решения в React. Часть 1

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

Попробуем проникнуть в очередную тайну JavaScript-кода, чтобы выяснить:

🟡что такое замыкания, как они появляются и зачем нужны;
🟡что такое “устаревшее” замыкание и почему оно возникает.

Предупреждение: если вы никогда не сталкивались с замыканиями в React, эта статья может взорвать ваш мозг. Рекомендую запастись достаточным количеством шоколада, чтобы стимулировать клетки мозга во время чтения.

‼️Задача
Представьте, что вы реализуете форму с несколькими полями ввода. Одно из полей представляет собой очень тяжелый компонент из какой-то внешней библиотеки. У вас нет доступа к его внутренним элементам, поэтому вы не можете устранить проблемы с его производительностью. Но этот компонент очень нужен в форме, поэтому вы решили обернуть его в React.iss.onemo, чтобы минимизировать повторные рендеринги при изменении состояния формы. Как-то так:
const HeavyComponentMemo = React.iss.onemo(HeavyComponent);

const Form = () => {
const [value, setValue] = useState();

return (
<>
<input
type="text"
value={value}
onChange={(e) => setValue(e.target.value)}
/>
<HeavyComponentMemo />
</>
);
};


Пока все хорошо. Тяжелый компонент принимает только одно строковое свойство, например title, и коллбэк onClick. Это происходит при нажатии кнопки “done” (“готово”) внутри компонента. Отправить данные формы также довольно просто: достаточно передать title и onClick.
const HeavyComponentMemo = React.iss.onemo(HeavyComponent);

const Form = () => {
const [value, setValue] = useState();
const onClick = () => {
// сюда передаем данные формы
console.log(value);
};

return (
<>
<input
type="text"
value={value}
onChange={(e) => setValue(e.target.value)}
/>
<HeavyComponentMemo
title="Welcome to the form"
onClick={onClick}
/>
</>
);
};


А вот теперь перед вами встает дилемма. Как известно, каждое свойство компонента, обернутое в React.iss.onemo, должно быть либо примитивным значением, либо постоянным между повторными рендерами. В противном случае мемоизация не сработает. Поэтому технически нужно обернуть onClick в useCallback:
const onClick = useCallback(() => {
// здесь передаем данные
}, []);


Но, как известно, хук useCallback должен иметь все зависимости, объявленные в его массиве зависимостей. Поэтому, чтобы отправить данные формы в компонент, нужно объявить эти данные как зависимость:

🚀Смотреть

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🎉6 архитектур API и как они работают, которые вы должны знать


@react_tg
👍465🔥4
🖥 Крутой ИИ сервис, который конвертирует дизайн Figma в рабочий код на HTML + CSS и React. Не нужно делать группировку элементов вручную — сервис справляется с любым дизайном, на выходе получается вполне неплохой код за пару кликов!

📌Попробовать можно тут.

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣24👍153🔥3😱1🤩1
🔥 Дайджест полезных материалов из мира : React за неделю

Почитать:
Создатель Ruby on Rails: «Turbo 8 отказывается от TypeScript»
Как отправлять пользовательский интерфейс по API
Проблема код-ревью: ESLint — больше, чем просто «extend»
Бот-сказочник, или как генерировать истории с помощью ChatGPT и Telegram
9 лучших консольных файловых менеджеров Linux
Создаём с нуля своё BIM-приложение для просмотра моделей IFC формата в браузере на основе open-source библиотеки IFC.js
Обертка для indexedDB / localStorage /…
Как грамотный подход аналитиков может сэкономить бюджет компании за счет изменения подхода к реализации проекта
Ускорение в 30 раз — requestIdleCallback
Повышаем продуктивность разработки: магия общей ESLint конфигурации
Создание приложения для распознавания текста с изображений и аудиофайлов
Почитать:
Bun 1.0 got released, Bun Packager Manager is 10x faster then yarn
Node.js 20.6.0: Say Goodbye to 'dotenv'
How to resolve the error "Unable to validate properties of null value"?
Exploring React: Power in Structure
Flatiron - Phase 2
How to convert and migrate your project from TypeScript to JavaScript
React Server Components and Server-Side Rendering: Supercharge Your Web Performance
How can I enhance my website's performance in Lighthouse?
React error: Too many re-renders. Why am I getting these errors?
Chat-Application

Посмотреть:
🌐 HTMX заменит Frontend?! WTF? ( 12:12)
🌐 5+ CSS Features That Will Change How You Code ( 17:58)
🌐 NEW Way To Create Variables In JavaScript ( 01:00)

Хорошего дня!

@react_js
👍82❤‍🔥1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
📂3D Cards - красивые карточки с 3D эффектом.

https://codepen.io/mubangadv/pen/YzJNbOa

@react_tg
👍12🔥74
🖥 Проблема устаревших замыканий и способы ее решения в React. Часть 1

Замыкания — пожалуй, одна из самых пугающих концепций JavaScript. Даже всезнающий ChatGPT скажет вам это. Во всяком случае, это одна из самых скрытых особенностей языка.

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

Попробуем проникнуть в очередную тайну JavaScript-кода, чтобы выяснить:

🟢что такое замыкания, как они появляются и зачем нужны;
🟢что такое “устаревшее” замыкание и почему оно возникает.

Предупреждение: если вы никогда не сталкивались с замыканиями в React, эта статья может взорвать ваш мозг. Рекомендую запастись достаточным количеством шоколада, чтобы стимулировать клетки мозга во время чтения.

✏️Задача

Представьте, что вы реализуете форму с несколькими полями ввода. Одно из полей представляет собой очень тяжелый компонент из какой-то внешней библиотеки. У вас нет доступа к его внутренним элементам, поэтому вы не можете устранить проблемы с его производительностью. Но этот компонент очень нужен в форме, поэтому вы решили обернуть его в React.iss.onemo, чтобы минимизировать повторные рендеринги при изменении состояния формы. Как-то так:
const HeavyComponentMemo = React.iss.onemo(HeavyComponent);

const Form = () => {
const [value, setValue] = useState();

return (
<>
<input
type="text"
value={value}
onChange={(e) => setValue(e.target.value)}
/>
<HeavyComponentMemo />
</>
);
};


Пока все хорошо. Тяжелый компонент принимает только одно строковое свойство, например title, и коллбэк onClick. Это происходит при нажатии кнопки “done” (“готово”) внутри компонента. Отправить данные формы также довольно просто: достаточно передать title и onClick.

const HeavyComponentMemo = React.iss.onemo(HeavyComponent);

const Form = () => {
const [value, setValue] = useState();
const onClick = () => {
// сюда передаем данные формы
console.log(value);
};

return (
<>
<input
type="text"
value={value}
onChange={(e) => setValue(e.target.value)}
/>
<HeavyComponentMemo
title="Welcome to the form"
onClick={onClick}
/>
</>
);
};


А вот теперь перед вами встает дилемма. Как известно, каждое свойство компонента, обернутое в React.iss.onemo, должно быть либо примитивным значением, либо постоянным между повторными рендерами. В противном случае мемоизация не сработает. Поэтому технически нужно обернуть onClick в useCallback:

const onClick = useCallback(() => {
// здесь передаем данные
}, []);


Но, как известно, хук useCallback должен иметь все зависимости, объявленные в его массиве зависимостей. Поэтому, чтобы отправить данные формы в компонент, нужно объявить эти данные как зависимость:

const onClick = useCallback(() => {
// сюда подаются данные
console.log(value);

// добавление значения к зависимости
}, [value]);


Дилемма заключается в следующем: даже если onClick мемоизирован, он все равно меняется каждый раз, когда кто-то набирает ввод. Поэтому оптимизация производительности бесполезна.

👆 Далее

👆 Часть 2

@react_js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥64
🖥 15 обязательных шпаргалок для веб-разработчиков

По ссылке вы найдёте подборку шпаргалок для разработчиков, которые содержат основные синтаксические конструкции и команды для работы с различными технологиями и языками программирования. Шпаргалки по CSS Flexbox, Grid, React, Git, Node.js, Django и не только ждут вас тут:

https://dev.to/ishratumar/15-must-have-cheatsheets-for-developers-1n92

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122🔥2
🤖10 конструкторов сайтов с ИИ, которые стоит попробовать каждому UI/UX-дизайнеру

1. Framer AI
возможность не только создавать отличные сайты с помощью ИИ, но и редактировать их так же, как файл Figma.

2. Durable
идеально подходит для тех, кому нужен деловой или профессиональный сайт. По моим наблюдениям, его результаты даже лучше, чем у Framer. Всего несколько настроек — и сайт готов к работе.

3. 10Web
представьте, что используете ИИ для создания сайта на WordPress, а затем настраиваете его с помощью редактора Elementor. А знаете, что самое замечательное в этом инструменте? Он синхронизируется с WordPress, на котором работает почти половина всех сайтов.

4. Dora AI
один из лидеров по внедрению искусственного интеллекта в создание сайтов. Он еще не выпущен, но, судя по промо-роликам, довольно интересен.

5. Wix AI
пожалуй, самый простой инструмент с ИИ-функциями, который я использовал. С ним можно запустить сайт всего за день. К тому же он очень выгоден для кошелька, и в него добавлено много новых классных ИИ-функций, таких как создание текста и изображений, автоматическое удаление фона и многое другое.

6. Bookmark
идеальный помощник для создания бизнес-сайтов. Он помогает с SEO-оптимизацией, предлагает варианты онлайн-продаж, предоставляет большой объем памяти и даже детальную аналитику.

7. Kleap
не только создаст сайт с помощью ИИ, но и поможет подобрать наиболее подходящие слова и картинки. Кроме того, он позволит отслеживать аналитику и отлично смотрится на телефонах.

8. Hocoos
можно за несколько минут создать потрясающий сайт, просто ответив на 8 вопросов о своем бизнесе. Это немного сложнее, чем просто написать промпт, но в результате ИИ создаст подробный и индивидуальный сайт.

9. Jimbo
задаст вам несколько вопросов о предпочитаемом стиле и целях — а затем на экране появится сайт. Jimbo похож на Wix. Он предложит выбрать внешний вид сайта, например цвета и кнопки. Правда, он не так богат возможностями, как некоторые другие ИИ-конструкторы, зато это может упростить вам работу.

10. Unbounce
известная платформа для разработки лендингов, использующая искусственный интеллект для создания страниц, написания копий и даже оптимизации трафика.

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132👎1🔥1
🖥 Большой интерактивный учебник по React. Он обучает современному React с помощью функциональных компонентов и хуков. В него включены: диаграммы, иллюстрации, задачи и более 600 интерактивных примеров. Зацените!

https://react.dev

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥3👌21
This media is not supported in your browser
VIEW IN TELEGRAM
Creating day-night CSS only toggle switch - Анимированный переключатель, выполненный с помощью SCSS, без использования JavaScript

https://codepen.io/gvissing/pen/XWVpjJd

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143🔥2
🔥 Дайджест полезных материалов из мира React за неделю

Почитать:
Минуты и часы не нужны
Создание мини игр и анимации в Online редакторе Collagen_2
Event Loop в деталях
Создание конвертера JSON в Typescript с помощью React, NodeJS и ChatGPT
Web Accessibility в рассказе «A11Y от 0 до NaN»
Создаем мини-игру с капельным эффектом и движущимися кружками. Часть 2. Финал
JavaScript. WebRTC. Соединение браузеров напрямую без сервера, peer-to-peer
Веб-компоненты в 2023: нужно поговорить
Подружим Sentry и Mattermost быстро и просто через адаптер
Генерация BDD тестов с помощью ChatGPT и запуск их через Playwright
Building A Simple React Login Form: A Step By Step Guide.
How To Quickly Fix Production Errors Along With CORS Error
react learning for beginner
What and Why to use HOCs in React
Zustand State Management
Case Sensitivity with `localeCompare` in JavaScript
Build a Video Call App with Astro and ReactJS
My first WebDev project - My Personal Portfolio.
Dev Container for React Native with Expo
Nextjs Adsense Implementation

Посмотреть:
🌐 Экосистема React.js 2023 ( 12:45)
🌐 The Best React State Management Solution Has Been There All Along ( 05:38)
🌐 This CSS Feature Replaces CSS-In-JS ( 01:00)

Хорошего дня!

@react_tg
👍11🔥31
ElectricSQL

Сегодня вышла новая версию ElectricSQL.

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

Local-first - это новая парадигма разработки, при которой код приложения напрямую обращается к встроенной локальной базе данных, а данные синхронизируются в фоновом режиме посредством активной репликации базы данных. Поскольку код приложения обращается непосредственно к локальной базе данных, приложения работают мгновенно. Данные синхронизируются в фоновом режиме с помощью активной репликации.

Github
Документация

@react_tg
👍14🔥7🤔53
BFEdevSolutions

Полезный проект с готовыми решениями frontend задач с bigfrontend.dev

Практические кейсы, алгоритмические задачи, задачи на верстку с объяснением.

JavaScript
React
JavaScript квизы
TypeScript задачи
CSS задачи

@react_tg
🔥13👍43
🌐 WebAssembly: секретное оружие в разработке высокооптимизированных и безопасных веб-приложений

Технологии в разработке ПО быстро развиваются. Появляются инструменты, помогающие создавать высокопроизводительные приложения с хорошим пользовательским опытом.

Производительность и безопасность - важные аспекты качества приложений. Браузеры понимают только JavaScript, поэтому производительность веб-приложений зависит от JavaScript.

Однако это не является проблемой, за исключением некоторых случаев с динамическим поведением JavaScript.

Почему JavaScript тормозит?
Каждый браузер имеет собственный JavaScript-движок.
Например, Chrome использует движок V8, Mozilla Firefox — движок рендеринга Gecko и т. д. Это просто программа, выполняющая JavaScript-код. Каждый JS-движок состоит из двух компонентов:

▪️стек вызовов (в котором выполняется код);
▪️куча (неструктурированный пул памяти, в котором хранятся объекты).

Выполнение задач, ориентированных на использование процессора или аппаратного обеспечения, таких как кодирование JSON и декодирование некоторых криптографических данных, может занять у JavaScript много времени.

📌 Читать дальше

@react_tg
👍11🔥52👎1
🔥 Дайджест полезных материалов из мира React за неделю

Почитать:
Увеличиваем свою производительность в WebStorm / PhpStorm c помощью шаблонов
Пристальный взгляд на отладку JavaScript приложений
Один компонент, 20+ фич, A/B-тесты: Поможет ли машина состояний?
15 лучших бесплатных курсов по Linux
Как добавить несколько товаров в Shopify корзину одним кликом?
Как мы создаём Squadus. Реализуем «прыжок к сообщению» в мобильной версии
React 18: что поменялось
Restyle как новый стандарт для создания UI в React Native
React Fiber & Concurrency Part 1 (2)
Svelte: Знакомство с рунами
Tailwind не только для MVP
Mastering React.js: Top 20 Interview Questions You Need to Know
Send email confirmation in Strapi
3D cube using pure css
3D cubes animation using pure css
Best Coding Practices and Tools for React Developers
Step by step on how to setup fabric.js in the next.js app
Top 5 form validation libraries in React JS and Next JS
How to login with Google on React App?
React Advanced: Manage Server States in the right way
Building Authentication in React Using Firebase

Посмотреть:
🌐 CSS nth-child Just Got 100x Better ( 00:56)
🌐 Clean Code Is Killing Your Projects ( 09:20)

Хорошего дня!

@react_tg
👍93🔥3
🖼 Почему разрабатывать веб-интерфейсы так сложно?

Разработка веб-интерфейсов кажется простой, но только на первый взгляд.

Если углубиться в нее, обнаруживается множество сложностей, озадачивающих даже опытных специалистов.

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

Кроме того, мы исследуем так называемые “нерезультативные пути” (“unhappy paths”), часто упускаемые из виду. К ним относятся состояния загрузки, обработка ошибок, а также более широкие архитектурные аспекты, включающие безопасность, производительность и доступность.

📌 Читать

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎21🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Animated blob SVG text clipping effect — анимация появления и исчезновения текста. Реализован с помощью SVG-текста и JavaScript.

https://codepen.io/ZachSaucier/pen/gZzPgQ

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥21