Telegram Web Link
🔥 Дайджест полезных материалов из мира : 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.memo, чтобы минимизировать повторные рендеринги при изменении состояния формы. Как-то так:
const HeavyComponentMemo = React.memo(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.memo(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.memo, должно быть либо примитивным значением, либо постоянным между повторными рендерами. В противном случае мемоизация не сработает. Поэтому технически нужно обернуть 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
🖥 Представляем вашему вниманию подробный вводный курс по React 18 и Redux Toolkit.

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

Видео
React код
Redux код

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥32
🖥 Прощайте, useState и useEffect: революция в React

Многие разработчики продолжают использовать хуки useState и useEffect для обновления состояний, но мне такой подход не нравится. Проблема заключается в том, что компонент одновременно монтируется, перемонтируется и размонтируется, что приводит к неожиданному поведению. В результате при записи в консоль результат может быть повторен три раза.

Назначение хука useLoaderData
Хук useLoaderData  — это пользовательский хук в React, который помогает загружать данные в компонент. Он упрощает получение данных из API и выполнение асинхронных операций.

Используя хук useLoaderData, вы предоставляете ему функцию, которая возвращает промис. Этот промис представляет собой асинхронную операцию, в результате которой будут получены необходимые данные. Как только промис разрешится, данные станут доступны компоненту.

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

Хук useLoaderData позволяет сохранить чистоту и организованность кода компонента, отделяя логику загрузки данных от остальных задач компонента. Это позволяет легко получать данные и управлять ими более удобным для новичков способом.

Как это работает
Надеюсь, вы хорошо знаете, как функционирует React Router 6. В противном случае ознакомьтесь с документацией по ссылке.

Прежде всего, нам необходимо настроить систему маршрутизации в приложении для работы с API загрузчика. До этого момента мы использовали настройку BrowserRouter для работы с различными маршрутами приложения.

Обсудим этот фрагмент.

import { BrowserRouter, Routes, Route, Outlet } from "react-router-dom"
import HomeComponent from "./home"
import AboutCompoent from "./about"
function App () {
<BrowserRouter>
<Routes>
<Route path='/' element={<Outlet />}>
<Route index element={<HomeComponent /> } />
<Route path='about' element={<AboutComponent/> } />
</Route>
</Routes>
</BrowserRouter>
};
export default App;
Здесь создана традиционная система маршрутизации с использованием импорта из React Router.

Что тут происходит?

BrowserRouter из библиотеки React Router создает массив объектов из дочерних элементов Routes. Приведенный ниже фрагмент наглядно демонстрирует, как это происходит.

BrowserRouter([
{
path: '/',
element: <HomeComponent />,
children: []
},
{
path: '/about',
element: <AboutComponent/>,
children: []
}
])

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

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡23👍182🔥2🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
GSAP - Scroll animation — анимация текста при прокрутке. Реализована с помощью CSS и JavaScript

#анимация #css #javascript #gsap

https://codepen.io/Tiopayo/pen/QWZbqZz

@react_tg
🔥12👍2🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
"Визуализация алгоритмов сортировки" (с использованием React и redux).

Github

@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥92🤯2
2025/07/13 22:01:59
Back to Top
HTML Embed Code: