Я давно не использовал Redux, и в большинстве моих проектов он действительно спасал меня. пару дней назад один из моих друзей сказал мне, что он использует Jotai, и если я буду использовать эту библиотеку поверх Redux, я никогда больше не буду использовать Redux. ну, он был прав. Jotai намного проще в использовании, и он превратил 5 компонентов в 5 строк кода!

Итак, позвольте мне рассказать больше об этой удивительной библиотеке.

Что такое Джотай?

Jotai — это библиотека управления состоянием для приложений React. Он предоставляет способ управления и совместного использования состояния в приложении React, но с некоторыми ключевыми отличиями:

1- Состояние на основе атома:

Дзётай основан на концепции атомов. Атомы — это единицы состояния, которые можно читать и обновлять независимо. Вы можете думать о них как об отдельных частях состояния, которые можно создавать, изменять и комбинировать. так что по сути вы можете сохранять данные в своем состоянии, например, когда вы используете «useState()», но теперь вы просто пишете «useAtom()».

2- Простота:

Jotai стремится предоставить более простой и интуитивно понятный API для управления состоянием в React. Он спроектирован так, чтобы быть менее сложным по шаблону, чем некоторые другие решения для управления состоянием, что упрощает работу с ним.

3- Неизменяемый:

Джотай по умолчанию обеспечивает неизменность. Когда вы обновляете атом, вы создаете новое значение, а не изменяете существующее. Это помогает обеспечить предсказуемые изменения состояния и лучшую интеграцию с моделью рендеринга React.

4- Интеграция с приостановкой:

Jotai разработан для хорошей работы с функцией React Suspense, которая позволяет более эффективно и оперативно получать и отображать данные.

5- Маленький размер комплекта:

Jotai известен своим небольшим размером пакета, что делает его хорошим выбором для проектов, где минимизация размера пакета JavaScript является проблемой.

6- Удобство для разработчиков:

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

Давайте воспользуемся этим!

Итак, сначала давайте установим его:

npm install jotai
// or 
yarn add jotai

после этого нам нужно создать компонент, содержащий наши данные. например, я назвал его jotaiData.

import { atom } from "jotai";

const Atomdata = atom([]);

export { Atomdata };

теперь у меня есть пустой массив. здесь я сохраняю свои данные. теперь в моем основном компоненте я импортирую его, чтобы иметь возможность его использовать. но мне также следует импортировать useAtom. как я уже сказал, это точно так же, как useState.

import { useAtom } from "jotai";
import { Atomdata } from "./myJotaiComponent/JotaiData";

и теперь я могу написать useState атома и передать ему свои Atomdata.

 const [data, setData] = useAtom(Atomdata);

Теперь всякий раз, когда я обновляю свои «данные» с помощью setData, новые данные будут сохраняться в моем AtomData. легко, да?

Можем ли мы сохранять данные, как Redux-persist?

Конечно вы можете! позволь мне показать тебе.

поэтому вместо того, чтобы писать атом, а затем свое состояние, вам нужно внести два изменения. во-первых, вам нужно заменить атом наatomWithStorage, чтобы вы могли импортировать его из «jotai/utils». Кроме того, теперь ваши данные должны иметь имя. так:

import { atomWithStorage } from "jotai/utils";

const Atomdata = atomWithStorage("test", []);

export { Atomdata };

Здесь я назвал свои данные «тест». и это оно! теперь, если вы обновите эти веб-данные, они не исчезнут.

Подробнее о Джотае можно прочитать здесь.

спасибо за чтение. Было ли это полезно? не забудь поддержать🙏❤