Строгий менеджер состояний для приложений на javascript
set(entities: E[] | HashMap<E>, entityClass?: Newable<E>)
Заменить текущую коллекцию предоставленной коллекцией.
this.store.set([Entity, Entity]);
/** Или вы можете передать объект */
this.store.set({1: Entity, 2: Entity});
Обратите внимание, что если вы передаете объект, Akita не гарантирует порядок полученных данных.
createOrReplace(id: ID, entity: E)
Создаёт или заменяет объект в хранилище:
this.store.createOrReplace(id, Entity);
add(entities: E[] | E)
Добавляет объект или объекты в магазин:
this.store.add([Entity, Entity]);
this.store.add(Entity);
this.store.add([Entity, Entity], { prepend: true });
this.store.add(Entity, { prepend: true });
update(id: ID | ID[] | null, newStateFn: ((entity: Readonly<E>) => Partial<E>) | Partial<E>)
Обновляет сущность или сущности в хранилище:
this.store.update(3, {
name: 'New Name'
});
this.store.update((e) => e.name === 'Netanel', {
name: 'New Name'
});
this.store.update(3, entity => {
return {
config: {
...entity.filter,
date
}
}
});
this.store.update([1,2,3], {
name: 'New Name'
});
/** Обновить все */
this.store.update(null, {
name: 'New Name'
});
updateAll(state: Partial<E>)
Псевдоним для update(null)
.
this.store.updateAll({completed: true});
updateRoot(newStateFn?: ((state: Readonly<S>) => Partial<S>) | Partial<S>)
Обновляет корневое состояние (данные, которые являются внешними по отношению к объектам):
this.store.updateRoot({
metadata: 'new metadata'
});
this.store.updateRoot(state => {
return {
metadata: {
...state.metadata,
key: 'new value'
}
}
});
remove(id?: ID | ID[] | ((entity: Readonly<E>) => boolean)
Удаляет одну или несколько сущностей из хранилища:
this.store.remove(5);
this.store.remove([1,2,3]);
this.store.remove(e => e.name === 'Netanel');
this.store.remove();
upsert(id, entityOrFunc)
Вставляет или обновляет объект.
this.todosStore.upsert(id, {
isOpen: true
});
this.todosStore.upsert(id, entity => ({
isOpen: !entity.isOpen
}));
setLoading(loading = false)
Обновляет состояние загрузки хранилища. Начальное значение устанавливается в true
и переключается в false
, когда вы вызывете store.set()
. Это может пригодиться для указания загрузки:
this.store.setLoading(true);
setError(error: any)
Обновляет состояние ошибки хранилища:
this.store.setError('Example of error');
destroy()
Уничтожить хранилище.