Строгий менеджер состояний для приложений на javascript
Акита не ограничивает вашу структуру кода. Вместо этого он применяет набор принципов высокого уровня:
setState()
(или один из
методов обновления на его основе).Пока вы следуете этим правилам, вам решать, как структурировать ваш проект. Вот как Акита рекомендует структурировать проект ради поддержания модульности и порядка.
── todos
└── state
├── todos.query.ts
├── todos.store.ts
├── todos.service.ts
└── todos.module.ts
└── todos-page.component.ts
└── todo
└── todo.component.ts
└── todo.component.html
└── todo.component.scss
└── todo.component.spec.ts
Для получения дополнительной информации, посмотрите документацию по CLI.
Если ваши провайдеры широко используют приложения, вы можете использовать
опцию provideIn
, чтобы избежать создания новых экземпляров. Например:
@Injectable({ provideIn: 'root' })
@StoreConfig({ name: 'products' })
export class ProductsStore extends EntityStore<State, Product> {
constructor() {
super();
}
}