dignals
v0.1.1
Published
![image](../../assets/DignalsLogo.png)
Downloads
6
Maintainers
Readme
Dignals - это библиотека, которая позволяет создавать реактивные модели данных. Реактивность означает автоматическое обновление данных в зависимости от изменения их состояния.
Установка
Для установки выполните следующие команды:
npm install dignals
Использование
import { sig, effect, memo, batch } from 'dignals';
// Создание реактивных переменных (сигналов)
const count = sig(0);
const doubleCount = memo(() => count.get() * 2);
// Создание эффекта для слежения за изменениями в реактивных переменных
effect(() => {
console.log('Count:', count.get());
console.log('Double Count:', doubleCount.get());
});
// Изменение значения и автоматическое обновление эффекта
batch(() => {
count.set(2);
count.set(3);
});
Описание API
sig
Функция sig
используется для создания реактивных переменных (сигналов).
const count = sig(0);
effect
Функция effect
используется для создания эффектов. Эффекты представляют собой код, который автоматически выполняется при изменении реактивных переменных, от которых он зависит.
effect(() => {
console.log('Count:', count.get());
});
memo
Функция memo
используется для создания мемоизированных значений. Мемоизация позволяет кэшировать результат вычислений и пересчитывать его только в случае изменения зависимостей.
const doubleCount = memo(() => count.get() * 2);
Заметки по использованию
- Запрещено изменять реактивные переменные или вызывать функции с побочными эффектами внутри мемоизированной функции.
- Будьте осторожны с циклическими зависимостями в мемоизированных значениях, так как это может привести к бесконечному циклу и переполнению стека вызовов.
batch
Функция batch
используется для группировки изменений реактивных переменных в одну пакетную операцию. Данная функция позволяет эффективно обновлять значения реактивных переменных и минимизировать количество перерасчетов.
batch(() => {
count.set(2);
count.set(3);
});
Очистка ресурсов
При создании эффектов вы можете указать функцию очистки, которая будет вызываться при удалении эффекта. Это позволяет освободить ресурсы, занятые эффектом, и выполнить другие необходимые операции при его удалении.
effect(() => {
// Следите за изменениями реактивных переменных
return () => {
// Выполните очистку ресурсов при удалении эффекта
};
});
Заключение
Dignals предоставляет удобный способ работы с реактивными данными в вашем приложении. Она позволяет легко отслеживать изменения данных и автоматически обновлять соответствующие эффекты. Используйте реактивную библиотеку, чтобы упростить разработку и повысить производительность вашего приложения.