Frontender Libs - обзор библиотек JS / CSS
8.23K subscribers
2.04K photos
735 videos
3 files
244 links
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/sWebDev
Download Telegram
Nano ID

Легковесная библиотека для генерации уникальных идентификаторов с использованием криптографически безопасного случайного числа. Nano ID может генерировать идентификаторы различной длины и с разными параметрами, такими как использование только символов верхнего или нижнего регистра, цифр, а также символов из пользовательского набора.

Пример использования библиотеки Nano ID для генерации случайного идентификатора длиной в 10 символов с использованием символов верхнего, нижнего регистра и цифр:

        import { nanoid } from 'nanoid';

const id = nanoid(10);
console.log(id);
// "g5U5Fzv1iR"

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

👉 @sWebDev
👍6
Как условно рендерить элементы на основе булевого значения Vue.js?

Используя одну из директив Vue мы можем рендерить элементы на основе булевого значения. Какая это директива?

👉 @sWebDev
👍5
Vue директива для условного рендера элементов?
Anonymous Quiz
10%
v-bind
12%
v-model
74%
v-if
4%
v-slot
🤯5👍3
Использование хуков React

Материал по работе с хуками в React. Автор рассказывает о работе с хуками жизненного цикла, хуками контекста и кастомными хуками React.

👉 @sWebDev
👍6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Vanilla JS Snake

"Змейка", выполненная при помощи библиотеки Vanila.js

👉 @sWebDev
👍4🤔1
Настраиваем объект, передаваемый родительскому компоненту React

Хук 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
👎5👍4
Media is too big
VIEW IN TELEGRAM
PixiJS

PixiJS часто используют в качестве игрового движка, но у библиотеки более широкое применение. Она упрощает вывод интерактивной 2D-графики и анимации в любых приложениях на базе HTML5. Для рендеринга PixiJS может использовать как WebGL, так и стандартный Canvas.

👉 @sWebDev
👍5
Media is too big
VIEW IN TELEGRAM
Three js - Interactive solar system

Анимированный проект солнечной системы, выполненный на Three.js.

👉 @sWebDev
👍7
Angular. Работа с template-driven формами

Разработчики angular, как правило знают, что для работы с формами существует два подхода: reactive forms и template driven forms. Также, хорошо известно, что для работы с формами разработан такой функционал как валидация, однако исчерпывающе описано его применения для подхода reactive forms. Давайте рассмотрим как можно получить те же преимущества для template driven подхода.

👉 @sWebDev
👍7
Media is too big
VIEW IN TELEGRAM
Airplanes

Реализация анимированного скролла при помощи библиотеки Gsap.js.

👉 @sWebDev
👍8🔥1
Управление состоянием компонента в React

Можем ли мы в React управлять состоянием компонента, используя функцию-редьюсер?

👉 @sWebDev
👍6
Возможно ли в React управлять состоянием компонента, используя функцию-редьюсер?
Anonymous Quiz
91%
Да
9%
Нет
🔥2
Media is too big
VIEW IN TELEGRAM
Voxelizing Three.js Geometries

Проект генератора геометрических фигур, выполненный с применением библиотеки Three.js.

👉 @sWebDev
👍5
Klona

Klona - это библиотека для создания копий JavaScript-объектов. Она поддерживает работу с обычными объектами, массивами, датами и другими структурами данных. Klona предоставляет дополнительные методы для взаимодействия с объектами. Например, клонирование с выбором глубины вложенности. Библиотека будет полезной для разработчиков, работающих с большими объемами данных и желающими повысить производительность своих приложений.

👉 @sWebDev
👍5👎1
Декомпозиция и интерфейс vue-компонентов

В большом vue-приложении всегда есть необходимость в декомпозиции компонентов и их логики. В статье приводятся размышления и некоторые выводы относительно подходов к декомпозиции vue-компонентов и их интерфейсу.

👉 @sWebDev
👍42
Оптимизируем производительность в React

Рассмотрим одну из новых фич 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
👍3
jsPDF

jsPDF - это библиотека для генерации PDF-документов на стороне клиента. Она позволяет создавать PDF-файлы из HTML-страниц, изображений и других типов контента, поддерживает множество настроек и опций для создания настраиваемых документов. JsPDF не требует установки дополнительного программного обеспечения и может быть использована в любом современном браузере.

👉 @sWebDev
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
GSAP 3 Radio

Анимированное радио, выполненное с использованием библиотеки Gsap.js.

👉 @sWebDev
👍5
Зачем и когда использовать ng-template в Angular?

По ссылке обзор 3 полезных возможностей директивы <ng-template>.
👍3