react-state-management
Реализация управления состоянием в React
Также доступно от: wshobson
Этот навык помогает разработчикам выбирать и внедрять подходящее решение для управления состоянием в React-приложениях — от простого локального состояния до сложных глобальных хранилищ с синхронизацией сервера.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «react-state-management». Как выбрать между Redux Toolkit и Zustand?
Ожидаемый результат:
Для небольших и средних приложений с простыми потребностями в состоянии Zustand предлагает минималистичный API с отличной поддержкой TypeScript. Для крупных корпоративных приложений, требующих middleware, интеграции с devtools и строгих паттернов, Redux Toolkit обеспечивает структуру. Используйте Zustand, когда: вам нужно простое глобальное состояние без boilerplate, вы предпочитаете hooks-based API, хотите минимальный размер бандла. Используйте Redux Toolkit, когда: вам нужна сложная асинхронная логика с thunks, требуется строгое отслеживание действий для отладки, ваша команда знакома с паттернами Redux.
Использование «react-state-management». Настройте React Query для загрузки данных
Ожидаемый результат:
Установите @tanstack/react-query, затем оберните приложение с QueryClientProvider. Создайте клиент запроса с параметрами по умолчанию для кэширования. Используйте хук useQuery для загрузки с ключами для управления кэшем. Используйте useMutation для обновлений с оптимистичными обновлениями через onMutate. Ключ запроса ['users', userId] обеспечивает автоматический повторный запрос и кэширование.
Аудит безопасности
БезопасноThis is a documentation skill for React state management patterns. Static analysis flagged external_commands, network, and sensitive data patterns, but evaluation confirms these are FALSE POSITIVES - the 'backticks' are TypeScript template literals in code examples, 'fetch' calls are legitimate API examples, and 'localStorage' access is proper state persistence teaching. No actual security risks identified.
Проблемы среднего риска (2)
Проблемы низкого риска (1)
Факторы риска
⚙️ Внешние команды (20)
🌐 Доступ к сети (6)
Оценка качества
Что вы можете построить
Настройка нового React-проекта
Выбор и настройка подходящего решения для управления состоянием при запуске нового React-приложения
Миграция устаревшего кода
Миграция с более старых паттернов Redux или классовых компонентов на современные подходы к управлению состоянием
Оптимизация производительности
Уменьшение излишних повторных рендеров и оптимизация паттернов доступа к состоянию в существующих приложениях
Попробуйте эти промпты
Покажите, как настроить Zustand для простого React-приложения с состоянием аутентификации пользователя и переключением темы.
Создайте хранилище Redux Toolkit с типизированными хуками и слайсом пользователя, который обрабатывает асинхронную загрузку.
Настройте React Query для загрузки данных пользователя с кэшированием, оптимистичными обновлениями при мутациях и обработкой ошибок.
Реализуйте атомы Jotai для корзины покупок с производными атомами для итоговых сумм и сохранением в localStorage.
Лучшие практики
- Разделяйте клиентское состояние и состояние сервера — используйте React Query для данных сервера и Zustand/Redux для состояния UI
- Размещайте состояние близко к тому месту, где оно используется — избегайте помещения всего в глобальное состояние
- Используйте TypeScript для всего кода, связанного с состоянием, чтобы предотвратить ошибки времени выполнения и обеспечить лучшую поддержку IDE
Избегать
- Хранение данных сервера в глобальном состоянии вместо использования React Query — создаёт проблемы синхронизации
- Чрезмерное глобализирование состояния — помещение специфичного для компонента состояния в Redux/Zustand, когда достаточно useState
- Прямая мутация состояния вместо использования паттернов неизменяемых обновлений — нарушает реактивность
Часто задаваемые вопросы
Какое управление состоянием лучше для нового React-проекта?
Когда следует использовать React Query против Redux?
Можно ли использовать несколько решений состояния вместе?
Как сохранить состояние между перезагрузками страницы?
В чём разница между Jotai и Zustand?
Как обрабатывать асинхронные действия в Redux Toolkit?
Сведения для разработчиков
Автор
sickn33Лицензия
MIT
Репозиторий
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/react-state-managementСсылка
main
Структура файлов
📄 SKILL.md