ReactJS/React Native, JS, HTML, Frontend - Uncolored collection
182 subscribers
242 photos
4 videos
6 files
535 links
Пополняющаяся коллекция материалов по ReactJS и смежных технологий.

Laravel: https://t.me/laravel_uncolored
Vue: https://t.me/vuejs_uncolored
Svelte: https://t.me/svelte_uncolored

Для связи @RainySkys
Download Telegram
Forwarded from IT лекции
⚙️Функциональное программирование с библиотекой RamdaJS

▪️Обзор возможностей и разбор блока Math - Смотреть
▪️Обработка строк и поток вызова функций - Смотреть
▪️Методы объектов - Смотреть
▪️Логические операции - Смотреть
▪️Функции первой необходимости - Смотреть
▪️Трансдюсеры как скидка на дорогие операции - Смотреть

🔝@itlecture
Как создать сервер GraphQL в Next.js

В туториале рассматривается пример подключения GraphQL в Next.js приложение с помощью apollo-server-micro

#graphql #nextjs

К статье(eng)
Использование Effector в стеке React + TypeScript

Effector - стейт-менеджер с несколькими хранилищами для приложений Javascript (React/ React Native/Vue/Node.js)

#effector #state #react #typescript

К статье(rus)
8 удобных React хуков

useTimeout - имплементация setTimeout
usePrevious - для хранения свойств с прошлого состояния
useClickInside - для определения клика внутри элемента
useClickOutside - для клика вне компонента
useFetch - как обертка над fetch
useInterval - имплементация setInterval
useComponentDidMount - для выполнения кода после mount компонента
useComponentWillUnmount - для выполнения кода на unmount компонента

#react

К статье(eng)
​​5 приемов по разделению «бандла» и «ленивой» загрузке компонентов в React.

Разделение Javascript-кода на несколько файлов называется разделением «бандла» или сборки (bundle splitting). Это позволяет загружать только тот код, который который используется приложением в данный момент, другие части загружаются по необходимости (по запросу пользователя).

[ Статья ]

#js #react
Forwarded from Free Online Courses
React Native with Typescript – The Practical Guide (2022)

FREE For Limited Enrolls

Create an app in React Native - from basic knowledge to working app. Learn React Native components, Typescript, and more

https://coursevania.com/courses/react-native-with-typescript-the-practical-guide-2022/
Извлечение данных: три способа в React

Простой Fetch API, RTK Query из Redux Toolkit и React Query. Сравниваем и ищем лучший: https://proglib.io/w/9bad0bc7

#react
Forwarded from React Junior
3 паттерна для создания React-компонентов

Статья (англ.): https://blog.openreplay.com/3-react-component-design-patterns-you-should-know-about

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

Презентационные компоненты и компоненты-контейнеры

Презентационные компоненты отвечают только за внешний вид. Они получают данные через пропсы, выводят их и никак не зависят от других компонентов. Очень часто презентационные компоненты не имеют состояния, но также могут отслеживать какое-то состояние, связанное с интерфейсом (например, текст в поле ввода). Примеры презентационных компонентов: список элементов, поле ввода.

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

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

Провайдер

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

Пример Провайдера в React - это контекст. Мы создаем объект контекста с нужными данными (например, цветовой темой приложения), оборачиваем все приложение в провайдер этого контекста и в нужных местах связываемся с ним с помощью хука useContext, или свойства contextType, или Context.Consumer.

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

Составные компоненты

Компоненты в React могут работать в симбиозе, разделяя общее состояние. Например, компонент списка (Menu) и компоненты отдельных элементов списка (MenuItem). Вынесение элементов в отдельные компоненты может быть удобно с точки зрения передачи пропсов и структуризации кода.

Но у Menu и MenuItem есть общее состояние - активный элемент, оно должно храниться в компоненте Menu, значит, его нужно передать во все вложенные компоненты MenuItem. Об этом должен позаботиться сам компонент списка (например, с помощью React Context), тогда мы получим составной компонент (compound component).

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

#паттерны #ссылки