Использование хуков React
Материал по работе с хуками в React. Автор рассказывает о работе с хуками жизненного цикла, хуками контекста и кастомными хуками React.
👉 @sWebDev
Материал по работе с хуками в React. Автор рассказывает о работе с хуками жизненного цикла, хуками контекста и кастомными хуками React.
👉 @sWebDev
👍6🔥3
Настраиваем объект, передаваемый родительскому компоненту React
Хук
Мы экспортируем дочерний компонент
👉 @sWebDev
Хук
useImperativeHandle в React используется для передачи определенных функций из компонента-родителя. Он позволяет родительскому компоненту вызывать методы вложенного компонента. Пример: import { forwardRef, useImperativeHandle } from 'react';
const ChildComponent = forwardRef((props, ref) => {
useImperativeHandle(ref, () => ({
focus: () => {
inputRef.current.focus();
}
}));
const inputRef = useRef(null);
return (
<input type="text" ref={inputRef} />
);
});
export default ChildComponent;Мы экспортируем дочерний компонент
ChildComponent, имеющий метод focus. Мы используем хук useImperativeHandle, чтобы экспортировать этот метод через ref.👉 @sWebDev
👍6
5 ошибок начинающих разработчиков в React
В материале перечислены распространенные ошибки начинающих разработчиков React. Авторы советуют не использовать несколько элементов в корневом компоненте, избегать условных операторов в JSX и дают другие советы, которые помогут избежать распространенных ошибок при начале работы с библиотекой.
👉 @sWebDev
В материале перечислены распространенные ошибки начинающих разработчиков React. Авторы советуют не использовать несколько элементов в корневом компоненте, избегать условных операторов в JSX и дают другие советы, которые помогут избежать распространенных ошибок при начале работы с библиотекой.
👉 @sWebDev
👎5👍4
Media is too big
VIEW IN TELEGRAM
PixiJS
PixiJS часто используют в качестве игрового движка, но у библиотеки более широкое применение. Она упрощает вывод интерактивной 2D-графики и анимации в любых приложениях на базе HTML5. Для рендеринга PixiJS может использовать как WebGL, так и стандартный Canvas.
👉 @sWebDev
PixiJS часто используют в качестве игрового движка, но у библиотеки более широкое применение. Она упрощает вывод интерактивной 2D-графики и анимации в любых приложениях на базе HTML5. Для рендеринга PixiJS может использовать как WebGL, так и стандартный Canvas.
👉 @sWebDev
👍5
Media is too big
VIEW IN TELEGRAM
Three js - Interactive solar system
Анимированный проект солнечной системы, выполненный на Three.js.
👉 @sWebDev
Анимированный проект солнечной системы, выполненный на Three.js.
👉 @sWebDev
👍7
Angular. Работа с template-driven формами
Разработчики angular, как правило знают, что для работы с формами существует два подхода: reactive forms и template driven forms. Также, хорошо известно, что для работы с формами разработан такой функционал как валидация, однако исчерпывающе описано его применения для подхода reactive forms. Давайте рассмотрим как можно получить те же преимущества для template driven подхода.
👉 @sWebDev
Разработчики angular, как правило знают, что для работы с формами существует два подхода: reactive forms и template driven forms. Также, хорошо известно, что для работы с формами разработан такой функционал как валидация, однако исчерпывающе описано его применения для подхода reactive forms. Давайте рассмотрим как можно получить те же преимущества для template driven подхода.
👉 @sWebDev
👍7
Управление состоянием компонента в React
Можем ли мы в React управлять состоянием компонента, используя функцию-редьюсер?
👉 @sWebDev
Можем ли мы в React управлять состоянием компонента, используя функцию-редьюсер?
👉 @sWebDev
👍6
Возможно ли в React управлять состоянием компонента, используя функцию-редьюсер?
Anonymous Quiz
91%
Да
9%
Нет
🔥2
Media is too big
VIEW IN TELEGRAM
Voxelizing Three.js Geometries
Проект генератора геометрических фигур, выполненный с применением библиотеки Three.js.
👉 @sWebDev
Проект генератора геометрических фигур, выполненный с применением библиотеки Three.js.
👉 @sWebDev
👍5
Klona
Klona - это библиотека для создания копий JavaScript-объектов. Она поддерживает работу с обычными объектами, массивами, датами и другими структурами данных. Klona предоставляет дополнительные методы для взаимодействия с объектами. Например, клонирование с выбором глубины вложенности. Библиотека будет полезной для разработчиков, работающих с большими объемами данных и желающими повысить производительность своих приложений.
👉 @sWebDev
Klona - это библиотека для создания копий JavaScript-объектов. Она поддерживает работу с обычными объектами, массивами, датами и другими структурами данных. Klona предоставляет дополнительные методы для взаимодействия с объектами. Например, клонирование с выбором глубины вложенности. Библиотека будет полезной для разработчиков, работающих с большими объемами данных и желающими повысить производительность своих приложений.
👉 @sWebDev
👍5👎1
Декомпозиция и интерфейс vue-компонентов
В большом vue-приложении всегда есть необходимость в декомпозиции компонентов и их логики. В статье приводятся размышления и некоторые выводы относительно подходов к декомпозиции vue-компонентов и их интерфейсу.
👉 @sWebDev
В большом vue-приложении всегда есть необходимость в декомпозиции компонентов и их логики. В статье приводятся размышления и некоторые выводы относительно подходов к декомпозиции vue-компонентов и их интерфейсу.
👉 @sWebDev
👍4❤2
Оптимизируем производительность в React
Рассмотрим одну из новых фич Reacta - Automatic Batching. Батчинг является процессом оптимизации производительности в React, при котором несколько обновлений состояния и свойств компонентов объединяются в одно обновление перед рендерингом. Это позволяет уменьшить количество обновлений DOM и повысить производительность. Пример использования:
До React 18 батчинг также существовал, но автоматически работал только для обработчиков DOM событий.
👉 @sWebDev
Рассмотрим одну из новых фич Reacta - Automatic Batching. Батчинг является процессом оптимизации производительности в React, при котором несколько обновлений состояния и свойств компонентов объединяются в одно обновление перед рендерингом. Это позволяет уменьшить количество обновлений DOM и повысить производительность. Пример использования:
function MyComponent() {
const [count, setCount] = useState(0);
const handleClick = () => {
setCount(count + 1);
setCount(count + 1);
setCount(count + 1);
}
return (
<div>
<p>Count: {count}</p>
<button onClick={handleClick}>Increment</button>
</div>
);
}
При клике на Increment будет вызван три раза метод setCount, но благодаря batching'у обновления будут объединены в одно.До React 18 батчинг также существовал, но автоматически работал только для обработчиков DOM событий.
👉 @sWebDev
👍5👎4🔥1
Встраивание WebGL в HTML-страницу с помощью Three.JS
В статье рассмотрим совмещение WebGL‑анимации с прокруткой страницы HTML, используя библиотеку Three.js. Работа с ней во многом схожа с работой 3D‑редактора. Для получения результата в виде картинки или анимации необходимо создать сцену, поместить в нее камеру, создать примитив (геометрию или 3D‑модель), создать источник освещения и запустить процесс рендеринга.
👉 @sWebDev
В статье рассмотрим совмещение WebGL‑анимации с прокруткой страницы HTML, используя библиотеку Three.js. Работа с ней во многом схожа с работой 3D‑редактора. Для получения результата в виде картинки или анимации необходимо создать сцену, поместить в нее камеру, создать примитив (геометрию или 3D‑модель), создать источник освещения и запустить процесс рендеринга.
👉 @sWebDev
👍3
jsPDF
jsPDF - это библиотека для генерации PDF-документов на стороне клиента. Она позволяет создавать PDF-файлы из HTML-страниц, изображений и других типов контента, поддерживает множество настроек и опций для создания настраиваемых документов. JsPDF не требует установки дополнительного программного обеспечения и может быть использована в любом современном браузере.
👉 @sWebDev
jsPDF - это библиотека для генерации PDF-документов на стороне клиента. Она позволяет создавать PDF-файлы из HTML-страниц, изображений и других типов контента, поддерживает множество настроек и опций для создания настраиваемых документов. JsPDF не требует установки дополнительного программного обеспечения и может быть использована в любом современном браузере.
👉 @sWebDev
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
NanoSQL
NanoSQL - легковесная и быстрая база данных, которую можно использовать как в браузере, так и на сервере. Библиотека обладает множеством полезных функций, таких как индексы, транзакции, агрегирующие функции и т.д. NanoSQL поддерживает различные бэкэнды баз данных, включая IndexedDB, WebSQL, SQLite, LevelDB и другие.
👉 @sWebDev
NanoSQL - легковесная и быстрая база данных, которую можно использовать как в браузере, так и на сервере. Библиотека обладает множеством полезных функций, таких как индексы, транзакции, агрегирующие функции и т.д. NanoSQL поддерживает различные бэкэнды баз данных, включая IndexedDB, WebSQL, SQLite, LevelDB и другие.
👉 @sWebDev
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Toilet Paper Toggle
Забавный переключатель для сайта, выполненный с использованием библиотеки Gsap.js.
👉 @sWebDev
Забавный переключатель для сайта, выполненный с использованием библиотеки Gsap.js.
👉 @sWebDev
🔥8👎2👍1
Часто используемые шаблоны проектирования в Angular
Обзор нескольких распространенных паттернов проектирования в Angular, таких как Singleton, Facade, Observer и других. Материал описывает, как использовать каждый паттерн и какие преимущества он может принести в разработке приложений.
👉 @sWebDev
Обзор нескольких распространенных паттернов проектирования в Angular, таких как Singleton, Facade, Observer и других. Материал описывает, как использовать каждый паттерн и какие преимущества он может принести в разработке приложений.
👉 @sWebDev
❤6👍3