Forwarded from IT лекции
⚙️Функциональное программирование с библиотекой RamdaJS
▪️Обзор возможностей и разбор блока Math - Смотреть
▪️Обработка строк и поток вызова функций - Смотреть
▪️Методы объектов - Смотреть
▪️Логические операции - Смотреть
▪️Функции первой необходимости - Смотреть
▪️Трансдюсеры как скидка на дорогие операции - Смотреть
🔝@itlecture
▪️Обзор возможностей и разбор блока Math - Смотреть
▪️Обработка строк и поток вызова функций - Смотреть
▪️Методы объектов - Смотреть
▪️Логические операции - Смотреть
▪️Функции первой необходимости - Смотреть
▪️Трансдюсеры как скидка на дорогие операции - Смотреть
🔝@itlecture
Forwarded from FrontEndDev
Улучшаем дизайн React приложения с помощью Compound components
https://habr.com/ru/company/alfa/blog/647013/
https://habr.com/ru/company/alfa/blog/647013/
Хабр
Улучшаем дизайн React приложения с помощью Compound components
Сегодня я хочу рассказать про один не очень популярный но очень классный паттерн в написании React приложений - Compound components. Что это вообще такое Compound components это подход, в котором вы...
Forwarded from Webchic - frontend, backend, ci/cd
Как создать сервер GraphQL в Next.js
В туториале рассматривается пример подключения GraphQL в Next.js приложение с помощью apollo-server-micro
#graphql #nextjs
К статье(eng)
В туториале рассматривается пример подключения GraphQL в Next.js приложение с помощью apollo-server-micro
#graphql #nextjs
К статье(eng)
Forwarded from Webchic - frontend, backend, ci/cd
Использование Effector в стеке React + TypeScript
Effector - стейт-менеджер с несколькими хранилищами для приложений Javascript (React/ React Native/Vue/Node.js)
#effector #state #react #typescript
К статье(rus)
Effector - стейт-менеджер с несколькими хранилищами для приложений Javascript (React/ React Native/Vue/Node.js)
#effector #state #react #typescript
К статье(rus)
Forwarded from Webchic - frontend, backend, ci/cd
8 удобных React хуков
— useTimeout - имплементация setTimeout
— usePrevious - для хранения свойств с прошлого состояния
— useClickInside - для определения клика внутри элемента
— useClickOutside - для клика вне компонента
— useFetch - как обертка над fetch
— useInterval - имплементация setInterval
— useComponentDidMount - для выполнения кода после mount компонента
— useComponentWillUnmount - для выполнения кода на unmount компонента
#react
К статье(eng)
— useTimeout - имплементация setTimeout
— usePrevious - для хранения свойств с прошлого состояния
— useClickInside - для определения клика внутри элемента
— useClickOutside - для клика вне компонента
— useFetch - как обертка над fetch
— useInterval - имплементация setInterval
— useComponentDidMount - для выполнения кода после mount компонента
— useComponentWillUnmount - для выполнения кода на unmount компонента
#react
К статье(eng)
Forwarded from Webchic - frontend, backend, ci/cd
5 приемов по разделению «бандла» и «ленивой» загрузке компонентов в React.
Разделение Javascript-кода на несколько файлов называется разделением «бандла» или сборки (bundle splitting). Это позволяет загружать только тот код, который который используется приложением в данный момент, другие части загружаются по необходимости (по запросу пользователя).
[ Статья ]
#js #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/
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/
Forwarded from Javascript Архив
Lim, Greg - Beginning React Native with Hooks (2020).epub
2.6 MB
Beginning React Native with Hooks - 2020
#ReactNative
#ReactNative
Извлечение данных: три способа в React
Простой Fetch API, RTK Query из Redux Toolkit и React Query. Сравниваем и ищем лучший: https://proglib.io/w/9bad0bc7
#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 могут работать в симбиозе, разделяя общее состояние. Например, компонент списка (
Но у
Реализовав этот паттерн мы сможем удобно оформлять список, выделяя каждый элемент в
#паттерны #ссылки
Статья (англ.): 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
, но при этом не придется заботиться о передаче состояния элементам, так как это происходит под капотом.#паттерны #ссылки
Openreplay
3 React Component Design Patterns You Should Know About
Top 3 design patterns used to create React.JS components that you should know about
Forwarded from Web Stack
React 18, React Redux 8 и TypeScript: что вам нужно знать
https://blog.logrocket.com/react-18-redux-8-typescript/
https://blog.logrocket.com/react-18-redux-8-typescript/
LogRocket Blog
React 18, React Redux 8, and TypeScript: What you need to know - LogRocket Blog
Learn about Redux 8, a state management library for React, and how it works with React 18 and it's TypeScript codebase conversion.
Forwarded from Frontend Info
Глубокое погружение в новую архитектуру React Native
https://medium.com/coox-tech/deep-dive-into-react-natives-new-architecture-fb67ae615ccd #react_native
https://medium.com/coox-tech/deep-dive-into-react-natives-new-architecture-fb67ae615ccd #react_native
Medium
Deep dive into React Native’s New Architecture
The React Native team has announced that the new architecture will be rolled out in 2022. Checkout their full blog here.
Forwarded from FrontEndDev
Реализация связи WebSocket в Next.js
https://blog.logrocket.com/implementing-websocket-communication-next-js/
https://blog.logrocket.com/implementing-websocket-communication-next-js/
LogRocket Blog
Implementing WebSocket communication in Next.js - LogRocket Blog
Integrate Socket.io into Next.js to start a WebSocket connection and share information between the client and server in real time.