3. Jotai
Jotai — это библиотека для управления состоянием в React, вдохновленная Recoil. Она использует “атомарный” подход: вы разделяете состояние на маленькие независимые кусочки (атомы).
Философия атомов
Заголовок раздела «Философия атомов»Вместо одного большого объекта (как в Redux), вы создаете множество мелких атомов. Компоненты подписываются только на те атомы, которые им нужны.
graph TD A1[Atom A] --> C1[Component 1] A2[Atom B] --> C2[Component 2] A1 --> A3[Computed Atom C] A3 --> C3[Component 3]Основные понятия
Заголовок раздела «Основные понятия»- Atom: Базовый кирпичик состояния.
- useAtom: Хук для чтения и записи атома (аналог
useState). - Derived Atoms: Атомы, которые вычисляются на основе других атомов.
Пример кода
Заголовок раздела «Пример кода»import { atom, useAtom } from 'jotai';
// Создание атомаconst countAtom = atom(0);
// Использованиеconst [count, setCount] = useAtom(countAtom);Сравнение с другими подходами
Заголовок раздела «Сравнение с другими подходами»| Подход | Масштабируемость | Ререндеры | Сложность |
|---|---|---|---|
| Context | Низкая | Высокие | Низкая |
| Zustand | Высокая | Низкие | Низкая |
| Jotai | Высокая | Минимальные | Низкая |
Jotai особенно хорош, когда у вас много мелких зависимых состояний, которые должны обновляться независимо.