dignals-model
v0.1.6
Published
Dignals-model - это библиотека для создания реактивных моделей данных. Она предоставляет удобные функции для объявления и использования реактивных моделей данных в реактивной системе.
Downloads
4
Maintainers
Readme
Dignals-model
Dignals-model - это библиотека для создания реактивных моделей данных. Она предоставляет удобные функции для объявления и использования реактивных моделей данных в реактивной системе.
Установка
Для установки dignals-model выполните следующие команды:
npm install dignals-model
Использование
import { effect } from "dignals";
import { createReactiveModel } from "dignals-model";
class UserModel {
name = "Jane";
surname = "Doe";
changeName(name: string, surname: string) {
this.name = name;
this.surname = surname;
}
get nameLength() {
return this.name.length;
}
get surnameLength() {
return this.surname.length;
}
get getNameSizeInfo() {
return `In name "${this.name}" ${this.nameLength} chars.`;
}
get getSurnameSizeInfo() {
return `In surname "${this.surname}" ${this.surnameLength} chars.`;
}
}
const user = createReactiveModelFromClass(UserModel);
effect(() => {
console.log("Name:", user.model$.name);
console.log("Surname:", user.model$.surname);
console.log("Name Length:", user.model$.nameLength);
console.log("Surname Length:", user.model$.surnameLength);
console.log("Name Size Info:", user.model$.getNameSizeInfo);
console.log("Surname Size Info:", user.model$.getSurnameSizeInfo);
});
user.changeName("John", "Doe");
API
createReactiveModelFromClass
Функция createReactiveModelFromClass
используется для создания реактивной модели данных. Она принимает обычный js класс.
const user = createReactiveModelFromClass(UserModel);
При передаче класса в эту функцию:
- все его поля автоматически оборачиваются в sig;
- обычные методы оборачиваются в batch;
- геттеры оборачиваются в memo.
Эти механизмы обеспечивают реактивность модели без необходимости использования декораторов.
Эффекты и реакция на изменения
Для реагирования на изменения в модели данных можно использовать функцию effect
из библиотеки dignals
. Внутри эффекта можно отслеживать реактивные свойства и методы модели и выполнять нужные действия при их изменении.
import { effect } from "dignals";
effect(() => {
// Реагировать на изменения в модели данных
});
Заключение
Dignals-model - это удобная библиотека для создания реактивных моделей данных. Она позволяет вам легко объявлять и использовать реактивные свойства и действия, отслеживать изменения в модели данных и реагировать на них. Используйте dignals-model, чтобы упростить управление состоянием в вашем приложении и повысить его отзывчивость и производительность.