| Канал | Публикаций | Подписчиков | Последний пост |
|---|---|---|---|
|
Библиотека программиста
[max]
|
5 | 1530 | 24.05.26 |
|
Физмат • Наука, Физика и…
[max]
|
5 | 1916 | 24.05.26 |
|
Хакер Free
[max]
|
5 | 2264 | 24.05.26 |
|
Работа для программистов
[max]
|
5 | 1615 | 24.05.26 |
|
Hacking & InfoSec | Кибе…
[max]
|
5 | 2008 | 24.05.26 |
|
Библиотека программиста …
[max]
|
5 | 2061 | 24.05.26 |
|
C++ Developer • Cpp Syst…
[max]
|
5 | 1947 | 24.05.26 |
Нет данных о рекламе
Загрузка данных...
| Размещенный пост | Текст публиакции | Рекламирующий канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
Загрузка данных...
| Размещенный пост | Текст публикации | Рекламируемый канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
| Дата и время публикации | Текст публикации | Рекламируемый канал | Динамика просмотров | Всего просмотров |
|---|---|---|---|---|
| 2026-05-21 07:58:55 | Как создать свой кастомный хук usePrevious для хранения предыдущего значения пропсов или стейта в компонентах React. В реальных приложениях иногда нужно сравнивать текущее и предыдущее состояние — например, чтобы анимировать изменения или вызывать сайд-эффекты только при росте/падении значения. Сегодня покажу, как легко вынести логику в переиспользуемый хук. import { useRef, useEffect } from 'react'; /** * Хук usePrevious сохраняет предыдущее значение value. * @param {T} value — текущее значение (пропс или стейт) * @returns {T | undefined} — предыдущий value (или undefined при первом рендере) */ function usePrevious(value) { const ref = useRef(); useEffect(() => { ref.current = value; }, [value]); return ref.current; } // Пример использования: import React, { useState } from 'react'; export default function PriceTracker() { const [price, setPrice] = useState(100); const prevPrice = usePrevious(price); const getTrend = () => { if (prevPrice === undefined) return '—'; return price > prevPrice ? '📈' : price < prevPrice ? '📉' : '➖'; }; return ( <div> <h2>Цена: {price} {getTrend()}</h2> <button onClick={() => setPrice(p => p + 5)}>↑ Увеличить</button> <button onClick={() => setPrice(p => p - 5)}>↓ Уменьшить</button> </div> ); } Почему это круто: * ✅ Логика хранения предыдущих значений вынесена в один хук — нет дублирования кода. * ✅ usePrevious работает и для пропсов, и для стейта. * ✅ Помогает сравнивать и реагировать на изменения (анимации, уведомления, условные запросы). Попробуйте интегрировать usePrevious в свои компоненты, где нужно отслеживать изменение данных во времени. Поделитесь в комментариях, в каких кейсах вы уже использовали или планируете применить такой хук! ✍️ @React_lib Как создать свой… | — |
|
160 |
| 2026-05-18 09:01:30 | Сегодня поговорим о Zustand — суперлёгкой и мощной библиотеке для управления состоянием в React-приложениях. 🧵 Минимализм состояния с Zustand Создание стора занимает меньше минуты: import { create } from 'zustand'; const useStore = create((set) => ({ count: 0, increase: () => set((state) => ({ count: state.count + 1 })), })); 🎯 Как использовать в компоненте: const Counter = () => { const { count, increase } = useStore(); return ( <button onClick={increase}> Count: {count} </button> ); }; 🧠 Чем хорош Zustand: * Нет провайдеров. * Нет бойлерплейта. * Поддержка middlewares, persist, subscriptions. * Работает в Next.js, React Native, даже вне React. Zustand идеально подходит для маленьких и средних приложений. Простой API — максимум гибкости. ✍️ @React_lib Сегодня поговори… | — |
|
186 |
Загрузка данных...
| Время | Контент | Подписчиков | Кто ссылался | Просмотры 48ч | Просмотры 24ч |
|---|