У вас включен AdBlock или иной блокировщик рекламы.

Пожалуйста, отключите его, доход от рекламы помогает развитию сайта и появлению новых статей.

Спасибо за понимание.

В другой раз
DevGang блог о програмировании
Авторизоваться

Akita

Строгий менеджер состояний для приложений на javascript

Поделится

Динамический Store

Мы можем передать storeName в конструкторе. Это дает нам возможность создавать внутренние хранилища на лету, что позволяет нам получать новый экземпляр хранилища для каждого создаваемого нами компонента.

export class MyService {
  createStore(storeName: string) {
    const store = new Store(initialState, { storeName });
    const query = new Query(store);
    return { store, query }
  }  
}

Или в Angular:

import { guid, Store, StoreConfig } from '@datorama/akita';

export class HeroStore extends Store<HeroState> {
  constructor() {
    super(initialState, { storeName: `Hero-${guid()}` }); <========
  }
}

@Component({
  selector: 'hero',
  providers: [HeroService, HeroStore, HeroQuery],
})
export class HeroComponent { }