Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍13❤7🤨2🌭1
This media is not supported in your browser
VIEW IN TELEGRAM
Carousel with drag and wheel
Карусель с перетаскиванием и прокруткой колеса. Реализована с помощью CSS и JS
https://codepen.io/supah/pen/xxJMbbg
@react_tg
Карусель с перетаскиванием и прокруткой колеса. Реализована с помощью CSS и JS
https://codepen.io/supah/pen/xxJMbbg
@react_tg
👍12🔥5❤1
📖 React Native: полное руководство по созданию виджета для домашнего экрана для iOS и Android
Как работает виджет?
Виджет работает как расширение приложения. Он не функционирует как самостоятельное приложение. Виджеты доступны в трех размерах (Small, Medium и Large) и могут быть статичными и настраиваемыми. Виджет ограничен в плане взаимодействия. Его нельзя скроллить, а можно только касаться. Малый виджет может иметь только один тип области взаимодействия, в то время как средний и большой — несколько.
Зачем разрабатывать виджеты?
Виджеты обычно создаются не только для того, чтобы предоставлять важную информацию и доступ к приложению на домашнем экране, но и для того, чтобы выделять приложение на фоне конкурентов и поддерживать вовлеченность пользователей.
Виджеты для взаимодействия с React Native
К сожалению, создать виджет для домашнего экрана с помощью React Native невозможно. Но не волнуйтесь, решение есть! Мы рассмотрим, как использовать нативный виджет для взаимодействия с приложением React Native.
Настройка
1. Создайте новое приложение:
2. Добавьте зависимость, которая создаст “мост” между виджетом и приложением:
3. Чтобы достичь взаимодействия с нативным модулем, добавьте следующий код в App.js:
⏩ Продолжение
@react_tg
Как работает виджет?
Виджет работает как расширение приложения. Он не функционирует как самостоятельное приложение. Виджеты доступны в трех размерах (Small, Medium и Large) и могут быть статичными и настраиваемыми. Виджет ограничен в плане взаимодействия. Его нельзя скроллить, а можно только касаться. Малый виджет может иметь только один тип области взаимодействия, в то время как средний и большой — несколько.
Зачем разрабатывать виджеты?
Виджеты обычно создаются не только для того, чтобы предоставлять важную информацию и доступ к приложению на домашнем экране, но и для того, чтобы выделять приложение на фоне конкурентов и поддерживать вовлеченность пользователей.
Виджеты для взаимодействия с React Native
К сожалению, создать виджет для домашнего экрана с помощью React Native невозможно. Но не волнуйтесь, решение есть! Мы рассмотрим, как использовать нативный виджет для взаимодействия с приложением React Native.
Настройка
1. Создайте новое приложение:
react-native init RNWidget
2. Добавьте зависимость, которая создаст “мост” между виджетом и приложением:
yarn add react-native-shared-group-preferences
3. Чтобы достичь взаимодействия с нативным модулем, добавьте следующий код в App.js:
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3❤2
1. У пользователей должна быть возможность выбирать количество предложений
2. Текст необходимо получать из внешнего API;
3. Применение соответствующих стилей для правильного и неправильного символа;
4. Подсветка текущего символа;
5. Приложение должно вычислять и отображать скорость и точность печати текста пользователем;
6. Пользователи должны иметь возможность перезапустить текущий тест.
Настройка проекта
• Создадим React проект с TypeScript шаблоном, выполнив в терминале следующую команду: npx create-react-app typing-test-app --template typescript.
• После завершения установки, перейдем в директорию проекта, установим axios (npm install axios) и Redux Toolkit (npm install @reduxjs/toolkit react-redux).
• Удалим все файлы, которые нам не пригодятся (оставим index.tsx, App.tsx, index.css, react-app-env.d.ts).
• Создадим папки api, assets, components, helpers, redux, types и style. Файл index.css переместим в папку style.
• Отредактируем оставшиеся файлы.
import React from 'react';
import ReactDOM from 'react-dom/client';
import './style/index.css';
import App from './App';
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
import { FunctionComponent } from 'react';
const App:FunctionComponent = () => {
return (
<>
</>
);
};
export default App;
Приложение мы пишем на TypeScript, поэтому для функциональных компонентов желательно указывать тип FunctionComponent, который мы импортируем из React.
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥5❤2
JP Camara, главный инженер Wealthbox, в своём блоге поделился интересным опытом ускорения TanStack Table — новой версии React-библиотеки для создания функциональных таблиц — аж до 10 мс. Делимся с вами ссылкой на перевод его статьи:
📌 Читать статью
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/aybukeceylan/pen/vYNgLdw
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5❤1
https://www.react-graph-gallery.com/
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥5❤1
Лучший способ получать свежие обновлении и следить за трендами в разработке.
Машинное обучение: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
C#: t.iss.one/csharp_ci
C/C++/ t.iss.one/cpluspluc
Data Science: t.iss.one/data_analysis_ml
Devops: t.iss.one/devOPSitsec
Go: t.iss.one/Golang_google
Базы данных: t.iss.one/sqlhub
Rust: t.iss.one/rust_code
Javascript: t.iss.one/javascriptv
React: t.iss.one/react_tg
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Мобильная разработка: t.iss.one/mobdevelop
Linux: t.iss.one/+A8jY79rcyKJlYWY6
Big Data: t.iss.one/bigdatai
Хакинг: t.iss.one/linuxkalii
Тестирование: https://t.iss.one/+F9jPLmMFqq1kNTMy
Java: t.iss.one/javatg
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
🇬🇧Английский: t.iss.one/english_forprogrammers
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2❤1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
🛠Job Search Platform UI
Красивый пользовательский интерфейс платформы поиска работы. Реализован с помощью CSS и JS
https://codepen.io/TurkAysenur/pen/jOqdNbm
@react_tg
Красивый пользовательский интерфейс платформы поиска работы. Реализован с помощью CSS и JS
https://codepen.io/TurkAysenur/pen/jOqdNbm
@react_tg
👍9❤3
⚛ Как реализовать feature gate в React
Feature gate — это высокоуровневый инструмент, позволяющий командам настраивать доступные пользователю функции без обновления кода приложения.
• В современной разработке программного обеспечения feature gate, часто называемый feature toggle или feature flag, является важным инструментом для управления релизом новых функций. Посмотрим, как реализовать feature gate во время сборки в React-приложении.
Что такое feature gate?
Feature gate, также известный как feature toggle или feature flag, — это метод разработки программного обеспечения, позволяющий командам контролировать доступность определенных функций и возможностей в приложении без явного внесения изменений в код. Он предоставляет альтернативу поддержанию нескольких функциональных ветвей в исходном коде, поскольку разрабатываемый код или функция могут быть объединены с основной ветвью путем отключения соответствующего feature gate.
Настройка React-проекта
Для реализации feature gate в приложении будем использовать React и TypeScript с шаблоном ESLint для настройки шаблонного кода. Если у вас уже есть разработанное ранее React-приложение, шаблон можно не использовать.
Реализация feature gate
Необходимо реализовать feature gate таким образом, чтобы он позволял переключать как определенный раздел приложения, так и всю маршрутную страницу.
Конфигурация feature gate
Конфигурация feature flag представляет собой набор пар ключ-значение, которые будут доступны всему приложению, а логика построения маршрутов будет использовать заданные флаги для определения набора маршрутов, доступных пользователю. Можно представить его как объект, в котором ключи будут выступать в качестве имен флагов, а соответствующее значение может быть либо true, либо false. Таким образом, конфигурация будет выглядеть примерно так:
Но данная конфигурация должна быть настраиваемой без необходимости изменения кода, верно?
☝️Одним из способов достижения этой цели является определение файла констант featureFlag.ts, который будет считывать конфигурацию из .env— или json-файла. Мы будем использовать .env-файл для управления флагами функций, а в дальнейшей части статьи рассмотрим, как получить конфигурацию из API и сделать ее динамической в подлинном смысле этого слова.
📌 Далее
@react_tg
Feature gate — это высокоуровневый инструмент, позволяющий командам настраивать доступные пользователю функции без обновления кода приложения.
• В современной разработке программного обеспечения feature gate, часто называемый feature toggle или feature flag, является важным инструментом для управления релизом новых функций. Посмотрим, как реализовать feature gate во время сборки в React-приложении.
Что такое feature gate?
Feature gate, также известный как feature toggle или feature flag, — это метод разработки программного обеспечения, позволяющий командам контролировать доступность определенных функций и возможностей в приложении без явного внесения изменений в код. Он предоставляет альтернативу поддержанию нескольких функциональных ветвей в исходном коде, поскольку разрабатываемый код или функция могут быть объединены с основной ветвью путем отключения соответствующего feature gate.
Настройка React-проекта
Для реализации feature gate в приложении будем использовать React и TypeScript с шаблоном ESLint для настройки шаблонного кода. Если у вас уже есть разработанное ранее React-приложение, шаблон можно не использовать.
Реализация feature gate
Необходимо реализовать feature gate таким образом, чтобы он позволял переключать как определенный раздел приложения, так и всю маршрутную страницу.
Конфигурация feature gate
Конфигурация feature flag представляет собой набор пар ключ-значение, которые будут доступны всему приложению, а логика построения маршрутов будет использовать заданные флаги для определения набора маршрутов, доступных пользователю. Можно представить его как объект, в котором ключи будут выступать в качестве имен флагов, а соответствующее значение может быть либо true, либо false. Таким образом, конфигурация будет выглядеть примерно так:
const featureFlags = {
featureA: true,
featureB: false,
featureC: true,
};
Но данная конфигурация должна быть настраиваемой без необходимости изменения кода, верно?
☝️Одним из способов достижения этой цели является определение файла констант featureFlag.ts, который будет считывать конфигурацию из .env— или json-файла. Мы будем использовать .env-файл для управления флагами функций, а в дальнейшей части статьи рассмотрим, как получить конфигурацию из API и сделать ее динамической в подлинном смысле этого слова.
📌 Далее
@react_tg
👍9❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀Services Section | Learn CSS Garden - интерактивная анимация раздела услуг сайта. Реализована с помощью CSS и JS
https://codepen.io/ahmadnasr/pen/KKpvNGY
@reacttg
https://codepen.io/ahmadnasr/pen/KKpvNGY
@reacttg
👍13🔥2❤1
Refs в React: от доступа к DOM до императивного API
Одна из полезных особенностей React — абстрагирование от сложного взаимодействия с объектной моделью документа (DOM, Document Object Model). Вместо того чтобы запрашивать элементы, пытаться добавить к ним классы и устранять несоответствия браузера, можно просто писать компоненты, сосредоточившись на взаимодействии с пользователем. Однако иногда все же появляется необходимость в доступе к реальному DOM.
И здесь самое важное — разобраться в особенностях Ref и его окружения, научиться их правильно использовать. Сначала рассмотрим, зачем нужен доступ к DOM, как при этом помогает Ref, что такое useRef, forwardRef и useImperativeHandle и как их правильно использовать. Кроме того, посмотрим, как без forwardRef и useImperativeHandle получить подобные результаты.
А в качестве бонуса рассмотрим реализацию в React императивных API.
📌 Читать дальше
@react_tg
Одна из полезных особенностей React — абстрагирование от сложного взаимодействия с объектной моделью документа (DOM, Document Object Model). Вместо того чтобы запрашивать элементы, пытаться добавить к ним классы и устранять несоответствия браузера, можно просто писать компоненты, сосредоточившись на взаимодействии с пользователем. Однако иногда все же появляется необходимость в доступе к реальному DOM.
И здесь самое важное — разобраться в особенностях Ref и его окружения, научиться их правильно использовать. Сначала рассмотрим, зачем нужен доступ к DOM, как при этом помогает Ref, что такое useRef, forwardRef и useImperativeHandle и как их правильно использовать. Кроме того, посмотрим, как без forwardRef и useImperativeHandle получить подобные результаты.
А в качестве бонуса рассмотрим реализацию в React императивных API.
📌 Читать дальше
@react_tg
❤9👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Infinite scrollable and draggable (WebGL)grid - интерактивная бесконечная сетка с возможностью прокрутки, выполненная с помощью SCSS и JavaScript
https://codepen.io/ReGGae/pen/eYGyLrP
@react_tg
https://codepen.io/ReGGae/pen/eYGyLrP
@react_tg
👍12❤7🔥1
RxDB — это реактивная автономная база данных ,разработанная специально для JavaScript-приложений. Библиотека предоставляет комплексный API для выполнения действий с базой данных и синхронизации данных между клиентами и серверами.
Основная философия RxDB строится на наблюдаемости (observability), что позволяет разработчикам оперативно управлять изменениями данных и создавать динамический UI.
📌 Читать
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤1🔥1
⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Машинное обучение: @ai_machinelearning_big_data
Go: @Golang_google
C#: @csharp_ci
Базы данных: @sqlhub
Python: @pythonl
C/C++/: @cpluspluc
Data Science: @data_analysis_ml
Devops: @devOPSitsec
Rust: @rust_code
Javascript: @javascriptv
React: @react_tg
PHP: @phpshka
Docker: @docker
Android: @android_its
Мобильная разработка: @mobdevelop
Linux: linuxacademy
Big Data: t.iss.one/bigdatai
Хакинг: @linuxkalii
Java:@javatg
Собеседования: @machinelearning_interview
💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
🔥ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: @english_forprogrammers
📕Ит-книги https://t.iss.one/addlist/BkskQciUW_FhNjEy
Машинное обучение: @ai_machinelearning_big_data
Go: @Golang_google
C#: @csharp_ci
Базы данных: @sqlhub
Python: @pythonl
C/C++/: @cpluspluc
Data Science: @data_analysis_ml
Devops: @devOPSitsec
Rust: @rust_code
Javascript: @javascriptv
React: @react_tg
PHP: @phpshka
Docker: @docker
Android: @android_its
Мобильная разработка: @mobdevelop
Linux: linuxacademy
Big Data: t.iss.one/bigdatai
Хакинг: @linuxkalii
Java:@javatg
Собеседования: @machinelearning_interview
💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
🔥ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: @english_forprogrammers
📕Ит-книги https://t.iss.one/addlist/BkskQciUW_FhNjEy
🔥4👍1😱1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤3🔥2💯1
🔥 Дайджест полезных материалов из мира : React за неделю
Почитать:
— Под капотом анимаций в React Native. Часть 2/2: Reanimated and JSI
— Подборка VS Code-плагинов для Frontend-разработчиков и не только
— Рефлексия в JavaScript и TypeScript: обзор основных техник. Как сгенерировать CLI-интерфейс для класса
— Считаем «a=1; b=2; x=pi/3; abcos(x)»
— JavaScript повсюду или почему веб-технологии захватили мир
— DOM, DI и View: деревья в Angular
— Как уменьшали размер VS Code, используя name mangling — сокращение идентификаторов во время сборки
— Как показать миллион зданий на карте — и не сломать браузер
— Одно PWA, чтоб править всеми
— Как запретить разработчику делать не то что нужно?
— SysCorp Technology PVT LTD
— What is PWA - Progressive Web App?
— The Future of Module Federation
— I want your opinion!
— React Custom Hooks: useDebounce
— Rspack 0.3 Release Announcement
— Announcing Rspack 0.2
— Full Stack Web Application
— Optimizing Performance in React: Best Practices for Speedy Apps
— React Custom Hook: useRenderCount
Посмотреть:
🌐 NEW Way To Create Variables In JavaScript (⏱ 12:13)
🌐 Help Me Teach You TypeScript (⏱ 00:45)
Хорошего дня!
@react_tg
Почитать:
— Под капотом анимаций в React Native. Часть 2/2: Reanimated and JSI
— Подборка VS Code-плагинов для Frontend-разработчиков и не только
— Рефлексия в JavaScript и TypeScript: обзор основных техник. Как сгенерировать CLI-интерфейс для класса
— Считаем «a=1; b=2; x=pi/3; abcos(x)»
— JavaScript повсюду или почему веб-технологии захватили мир
— DOM, DI и View: деревья в Angular
— Как уменьшали размер VS Code, используя name mangling — сокращение идентификаторов во время сборки
— Как показать миллион зданий на карте — и не сломать браузер
— Одно PWA, чтоб править всеми
— Как запретить разработчику делать не то что нужно?
— SysCorp Technology PVT LTD
— What is PWA - Progressive Web App?
— The Future of Module Federation
— I want your opinion!
— React Custom Hooks: useDebounce
— Rspack 0.3 Release Announcement
— Announcing Rspack 0.2
— Full Stack Web Application
— Optimizing Performance in React: Best Practices for Speedy Apps
— React Custom Hook: useRenderCount
Посмотреть:
🌐 NEW Way To Create Variables In JavaScript (⏱ 12:13)
🌐 Help Me Teach You TypeScript (⏱ 00:45)
Хорошего дня!
@react_tg
👍12🔥3❤1