dignals
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

image

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 предоставляет удобный способ работы с реактивными данными в вашем приложении. Она позволяет легко отслеживать изменения данных и автоматически обновлять соответствующие эффекты. Используйте реактивную библиотеку, чтобы упростить разработку и повысить производительность вашего приложения.

Package Sidebar

Install

npm i dignals

Weekly Downloads

3

Version

0.1.1

License

none

Unpacked Size

150 kB

Total Files

18

Last publish

Collaborators

  • dmitriypereverza