Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/hexagoncircle/pen/qBdEGrj
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
⭐️Совет по CSS!⭐️
Для создания инвертированного эффекта :hover вы можете использовать режим mix-blend-mode с настраиваемыми свойствами :hover.
Классная фишка в том, что использование режима mix-blend-mode действует как инвертор цвета, что хорошо работает с монохромными элементами управления.
Что касается того, как переместить этот код в JavaScript?
@react_tg
Для создания инвертированного эффекта :hover вы можете использовать режим mix-blend-mode с настраиваемыми свойствами :hover.
button > span {
left: calc(var(--x, 0) * 1px);
top: calc(var(--y, 0) * 1px);
mix-blend-mode: difference;
}
Классная фишка в том, что использование режима mix-blend-mode действует как инвертор цвета, что хорошо работает с монохромными элементами управления.
Что касается того, как переместить этот код в JavaScript?
const UPDATE = ({target, x, y }) => {
const bounds = target.getBoundingClientRect()
target .style.setProperty('--x', x - bounds.left)
target .style.setProperty('--y', y - bounds .top)
}
const BTNS = document.querySelectorAll('button')
BTNS.forEach(BTN => BTN.addEventListener('pointermove', UPDATE))
button:is(:hover, :focus-visible) {
--active: 1;
}
button span {
transform: translate(-50%, -50%) scale(calc(var(--active, 0) * 3);
transition: transform 0.25s;
}@react_tg
👍23🔥10❤5
⚡️ 10 сайтов для отработки навыков работы с фронтендом:
1. Frontend Mentor
https://frontendmentor.io
2. Codewars
https://codewars.com
3. Codewell
https://codewell.cc
4. JavaScript30
https://javascript30.com
5. Кодербайт
https://coderbyte.com
6. CSS Battle
https://cssbattle.dev
7. FreeCodeCamp
https://freecodecamp.org/learn/
8. Frontend Practice
https://frontendpractice.com
9. Задачи CodePen
https://codepen.io/challenges/?re
10. Dev Challenges
https://devchallenges.io
@react_tg
1. Frontend Mentor
https://frontendmentor.io
2. Codewars
https://codewars.com
3. Codewell
https://codewell.cc
4. JavaScript30
https://javascript30.com
5. Кодербайт
https://coderbyte.com
6. CSS Battle
https://cssbattle.dev
7. FreeCodeCamp
https://freecodecamp.org/learn/
8. Frontend Practice
https://frontendpractice.com
9. Задачи CodePen
https://codepen.io/challenges/?re
10. Dev Challenges
https://devchallenges.io
@react_tg
👍33❤8🔥3
➽ javascripting - https://javascripting.com
➽ codepen - https://codepen.io
➽ codemyui - https://codemyui.com
➽ jsfiddle - https://jsfiddle.net
➽ jsbin - https://jsbin.com
➽ 30secondsofcode - https://30secondsofcode.org/js/p/1/
➽ freefrontend - https://freefrontend.com
➽ snippit - https://snippit.io
➽ codesandbox - https://codesandbox.io
➽ glitch - https://glitch.com
➽ tabnine - https://tabnine.com
➽ github - https://github.com
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍4🔥2🤣2
This media is not supported in your browser
VIEW IN TELEGRAM
🐈⬛ Действительно хороший вариант кнопки, никогда не видел ничего подобного.
Даже немного поиграл с ней 😅.
https://rive.app
@react_tg
Даже немного поиграл с ней 😅.
https://rive.app
@react_tg
👍41❤14🔥5
🔥🔥 Вышел Redux Toolkit 2.0!!!🔥🔥
В свежей версии добавлены новые возможности, ускорена работа, уменьшен размер пакета и удалены устаревшие опции.
Она сопровождается обновлениями для всех наших пакетов семейства Redux.
https://github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0
@react_tg
В свежей версии добавлены новые возможности, ускорена работа, уменьшен размер пакета и удалены устаревшие опции.
Она сопровождается обновлениями для всех наших пакетов семейства Redux.
https://github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0
@react_tg
🔥40👍7❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Это как в BEM нельзя использовать E - элемент, отдельно от B - блока.
На гифке пример, как вы можете использовать этот паттерн, чтобы сделать свои компоненты открытыми для расширения и закрытыми для модификации.
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3🔥2🤩1
1. Codewars
https://codewars.com
2. JS challenger
https://jschallenger.com
3. W3resource
https://w3resource.com/javascript-exercises/
4. Герой JS
https://jshero.net/en/koans/var.html
5. Edabit
https://edabit.com/practice
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2🔥1
React JS
Million.js
- это чрезвычайно быстрый и легкий (<4 кб) виртуальный DOM, который позволяет ускорить работу компонентов React на 70 %.Сделайте React быстрее⚡️.
▪Github
▪Документация
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴14👍5❤2
🔥 Дайджест полезных материалов из мира React за неделю
Почитать:
— Многооконное веб приложение — решение для перегруженных интерфейсов
— Как мы отказались от styled-components в React Native приложениях
— Билдер Vue 3 веб приложений
— 8 бесплатных курсов по большим языковым моделям
— Современные варианты баз данных
— Typescript: лучшие практики
— Архитектура серверного рендеринга для SPA
— Интересные трюки HTML. Экстремальный минимализм
— Как сгенерировать безопасный, типизированный Node.js API с использованием Prisma, TypeGraphQL и graphql-query-purifier
— Unveiling the Unparalleled Style: Essentials Hoodie Collection by Fear of God
— Animated 3D text with bubble background using html,css
— Reinforcing my ReactJS Knowledge
— Solid.js vs React: Which is Better in 2024?
— Yes! There’s a Technology that’s Faster than React!
— Resolving React Hook Error and Building a Simple Todo List Page
— Uncovering the React Universe: The Starter Guide
— Mastering useState: A Guide to Avoiding Common Pitfalls in React Development
— Mastering React Performance: In-Depth Guide to useCallback and useMemo. 🚀
— 3 Things I Learned by Building a Portfolio Website
Посмотреть:
🌐 Ollama — модель уровня GPT. Используй GPT без ограничений и абсолютно бесплатно.
🌐 Refactoring a React component - Design Patterns
🌐React Zero to Hero (5 Days)
🌐 WTF Do These Even Mean (⏱ 13:44)
🌐 This New Tailwind Feature Is A Game Changer (⏱ 00:59)
Хорошего дня!
@react_tg
Почитать:
— Многооконное веб приложение — решение для перегруженных интерфейсов
— Как мы отказались от styled-components в React Native приложениях
— Билдер Vue 3 веб приложений
— 8 бесплатных курсов по большим языковым моделям
— Современные варианты баз данных
— Typescript: лучшие практики
— Архитектура серверного рендеринга для SPA
— Интересные трюки HTML. Экстремальный минимализм
— Как сгенерировать безопасный, типизированный Node.js API с использованием Prisma, TypeGraphQL и graphql-query-purifier
— Unveiling the Unparalleled Style: Essentials Hoodie Collection by Fear of God
— Animated 3D text with bubble background using html,css
— Reinforcing my ReactJS Knowledge
— Solid.js vs React: Which is Better in 2024?
— Yes! There’s a Technology that’s Faster than React!
— Resolving React Hook Error and Building a Simple Todo List Page
— Uncovering the React Universe: The Starter Guide
— Mastering useState: A Guide to Avoiding Common Pitfalls in React Development
— Mastering React Performance: In-Depth Guide to useCallback and useMemo. 🚀
— 3 Things I Learned by Building a Portfolio Website
Посмотреть:
🌐 Ollama — модель уровня GPT. Используй GPT без ограничений и абсолютно бесплатно.
🌐 Refactoring a React component - Design Patterns
🌐React Zero to Hero (5 Days)
🌐 WTF Do These Even Mean (⏱ 13:44)
🌐 This New Tailwind Feature Is A Game Changer (⏱ 00:59)
Хорошего дня!
@react_tg
👍10❤4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ Я не слишком беспокоюсь о повторных рендерах в React. (если только я не вижу проблем с производительностью).
Однако мне важно понимать, как работает процесс рендеринга.
@react_tg
Однако мне важно понимать, как работает процесс рендеринга.
@react_tg
👍20❤4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Совет React: используйте пользовательский хук для обработки состояний массива в ваших компонентах ↓
@react_tg
@react_tg
❤34💯5👍3🔥3
Чистая архитектура фронтенда
В этой статье речь пойдет об архитектуре фронтенда, проектирование которой подчиняется множеству принципов, в том числе SOLID, KISS, DRY и DDD.
В чем важность архитектуры фронтенда?
Функциональные и нефункциональные требования должны применяться не только к бэкенду, но и к фронтенду. Именно архитектура фронтенда позволяет полностью реализовать потребности бизнеса. Кроме того, она дает более четкое представление о сложности проектов, тем самым сокращая время их создания, риски и стоимость. Однако, на мой взгляд, наибольшая ценность фронтенд-архитектуры заключается в том, что она обеспечивает поддерживаемость и масштабируемость любого проекта.
Что представляет собой архитектура фронтенда?
📌 Читать
@react_tg
В этой статье речь пойдет об архитектуре фронтенда, проектирование которой подчиняется множеству принципов, в том числе SOLID, KISS, DRY и DDD.
В чем важность архитектуры фронтенда?
Функциональные и нефункциональные требования должны применяться не только к бэкенду, но и к фронтенду. Именно архитектура фронтенда позволяет полностью реализовать потребности бизнеса. Кроме того, она дает более четкое представление о сложности проектов, тем самым сокращая время их создания, риски и стоимость. Однако, на мой взгляд, наибольшая ценность фронтенд-архитектуры заключается в том, что она обеспечивает поддерживаемость и масштабируемость любого проекта.
Что представляет собой архитектура фронтенда?
📌 Читать
@react_tg
👍23❤5🔥3
🔥 Дайджест полезных материалов из мира React за неделю
Почитать:
— Сложность алгоритмов. Разбор Big O
— Я счастлив, что больше не веб-разработчик
— Mobile Web, навигация и при чем тут Nginx
— Микрофронтенд для самых маленьких
— Кастомизация бессерверных функций без применения промежуточного ПО
— KISS your website или как написать уважаемый сайт на аутсорсе, глава первая
— Что выбрать: Npm, Yarn или Pnpm?
— Pixel Combats Api
— Анатомия shadcn/ui
— Валидация формы с помощью AJV, Vue.js и TypeScript
— How Validate Form Input Data In React Or Any JavaScript Web Application ?
— Fixing Fetch Waterfalls in React
— Svelte journey | Part 2
— How many of you use cloud emulators for testing?
— Svelte : Toji Fushiguro of Javascript Frameworks.
— Efficient React Development: A Deep Dive into Components, Hooks, and Performance Optimization
— Unveiling the Power of React Hooks: A Comprehensive Guide
— Tips for styling React apps in JavaScript
— This Week In React #167: Hydration, Remix, Server Components, cache, perf, Glow, Unistyles, Expo, :has(), Tailwind, date-fns...
— Mastering Redux Toolkit in Your React Projects
Посмотреть:
🌐 Type Predicates Solve This Common TypeScript Error (⏱ 05:01)
🌐 You Should Be Using Types Instead Of Interfaces In TypeScript (⏱ 00:52)
Хорошего дня!
@react_tg
Почитать:
— Сложность алгоритмов. Разбор Big O
— Я счастлив, что больше не веб-разработчик
— Mobile Web, навигация и при чем тут Nginx
— Микрофронтенд для самых маленьких
— Кастомизация бессерверных функций без применения промежуточного ПО
— KISS your website или как написать уважаемый сайт на аутсорсе, глава первая
— Что выбрать: Npm, Yarn или Pnpm?
— Pixel Combats Api
— Анатомия shadcn/ui
— Валидация формы с помощью AJV, Vue.js и TypeScript
— How Validate Form Input Data In React Or Any JavaScript Web Application ?
— Fixing Fetch Waterfalls in React
— Svelte journey | Part 2
— How many of you use cloud emulators for testing?
— Svelte : Toji Fushiguro of Javascript Frameworks.
— Efficient React Development: A Deep Dive into Components, Hooks, and Performance Optimization
— Unveiling the Power of React Hooks: A Comprehensive Guide
— Tips for styling React apps in JavaScript
— This Week In React #167: Hydration, Remix, Server Components, cache, perf, Glow, Unistyles, Expo, :has(), Tailwind, date-fns...
— Mastering Redux Toolkit in Your React Projects
Посмотреть:
🌐 Type Predicates Solve This Common TypeScript Error (⏱ 05:01)
🌐 You Should Be Using Types Instead Of Interfaces In TypeScript (⏱ 00:52)
Хорошего дня!
@react_tg
👍7❤3🔥1
И в этом подробном руководстве объясняет, как это сделать с помощью Cypress.
Вы узнаете, что такое сквозное тестирование, как организовать и запустить тесты, как отладить код и многое другое.
https://www.freecodecamp.org/news/cypress-for-end-to-end-testing-react-apps/
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🤡2❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/pavlovsk/pen/OXGdoN
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥5❤2💯1
Как реализовать простой контроль версий с помощью JavaScript, чтобы лучше разобраться в Git
Что такое Git и управление версиями в целом?
Это система, которая помогает отслеживать проект во времени. Так, с помощью Git мы можем легко погрузиться в историю исходного кода и посмотреть, как он выглядел в определенное время в прошлом.
Зачем разбираться в Git?
Во-первых, чтобы не использовать команды бездумно, когда что-то пойдет не так. Во-вторых, важно понимать, как работает система, с которой мы взаимодействуем каждый день.
Мы разберем основные понятия Git на примере реализации упрощенной системы управления версиями под названием Gitj.
Реализация
Выполнение первой команды Init
Как вы, наверное, знаете, мы запускаем проект командой git init, после чего Git создает папку .git и сохраняет в ней данные. Нам предстоит это реализовать.
Две важные папки, которые создает git, — это refs и objects. Objects (объекты) — это строительные блоки Git. Они могут быть 3 типов (на самом деле их 4): commit, tree и blob. Сейчас мы подробно рассмотрим каждый из этих типов. В папке refs есть подпапка heads, содержащая ветви и последний коммит каждой ветви (из названия должно быть понятно, что в ней хранится голова ветви). У нас также есть важный файл HEAD, который хранит текущую ветвь или коммит (иногда необходимо выполнить проверку в коммите, а не в ветви).
Создадим эти папки при вызове функции init.
Git Add. Добавление файлов в индекс
📌 Продолжение
@react_tg
Что такое Git и управление версиями в целом?
Это система, которая помогает отслеживать проект во времени. Так, с помощью Git мы можем легко погрузиться в историю исходного кода и посмотреть, как он выглядел в определенное время в прошлом.
Зачем разбираться в Git?
Во-первых, чтобы не использовать команды бездумно, когда что-то пойдет не так. Во-вторых, важно понимать, как работает система, с которой мы взаимодействуем каждый день.
Мы разберем основные понятия Git на примере реализации упрощенной системы управления версиями под названием Gitj.
Реализация
Выполнение первой команды Init
Как вы, наверное, знаете, мы запускаем проект командой git init, после чего Git создает папку .git и сохраняет в ней данные. Нам предстоит это реализовать.
Две важные папки, которые создает git, — это refs и objects. Objects (объекты) — это строительные блоки Git. Они могут быть 3 типов (на самом деле их 4): commit, tree и blob. Сейчас мы подробно рассмотрим каждый из этих типов. В папке refs есть подпапка heads, содержащая ветви и последний коммит каждой ветви (из названия должно быть понятно, что в ней хранится голова ветви). У нас также есть важный файл HEAD, который хранит текущую ветвь или коммит (иногда необходимо выполнить проверку в коммите, а не в ветви).
Создадим эти папки при вызове функции init.
const fs = require("fs");
function init() {
// создается папка .gitj и подпапки .gitj/objects,.gitj/refs и .gitj/refs/heads
fs.mkdirSync(".gitj");
fs.mkdirSync(".gitj/objects");
fs.mkdirSync(".gitj/refs");
fs.mkdirSync(".gitj/refs/heads");
// создается файл с именем .gitj/refs/heads/master
fs.writeFileSync(".gitj/refs/heads/master", "");
// создается файл с именем .gitj/HEAD
fs.writeFileSync(".gitj/HEAD", "ref: refs/heads/master");
}
init();
Git Add. Добавление файлов в индекс
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍11🔥1
Поговорим о принципах SOLID с точки зрения приложений React. Я прекрасно понимаю, что статей на эту тему уже достаточно много, и знаю это потому, что прочитал большинство из них.
Должен сказать, что не согласен с тем, как подается информация в таких материалах (иначе я бы, конечно, не стал публиковать эту статью).
Проблема, на мой взгляд, заключается в том, что авторы рассказывают только о том, как прекрасны принципы SOLID, не упоминая об их возможных изъянах и подводных камнях.
Никто не задается вопросом: а применимы ли вообще принципы SOLID в React-приложениях? Именно это мы и обсудим, так что читайте дальше.
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3🥴3🔥1🤡1