在Akita中,默认情况下,数据是存储在内存中的,并且不需要使用persistState插件。下面是一个示例代码,演示如何使用Akita进行数据存储:
import { EntityState, EntityStore, StoreConfig } from '@datorama/akita';
interface MyEntity {
id: number;
name: string;
}
interface MyState extends EntityState {}
@StoreConfig({ name: 'myStore' })
class MyStore extends EntityStore {
constructor() {
super();
}
}
const myStore = new MyStore();
// 添加数据
myStore.add([{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }]);
// 更新数据
myStore.update(1, { name: 'John Doe' });
// 删除数据
myStore.remove(2);
// 获取数据
const entities = myStore.getValue().entities;
console.log(entities);
在上面的示例中,我们创建了一个名为MyStore
的Akita Store,并实现了一个MyEntity
接口来定义存储的实体类型。我们可以使用add
方法添加数据,使用update
方法更新数据,使用remove
方法删除数据,并使用getValue
方法获取存储的数据。
需要注意的是,这种默认的内存存储方式在浏览器刷新或关闭页面时会丢失数据。如果需要在刷新或关闭页面后仍然保留数据,可以考虑使用Akita提供的persistState
插件。