Я хотел бы использовать inversify в приложении response-redux, но только на уровне обслуживания, а не через компонент enet
У меня есть служба настройки, которую необходимо вызвать в API (служба Http) Я бы хотел своего рода провайдера, который даст мне возможность вызывать settingsService.get () в файле actions.ts
Как инициализировать объекты всех моих служб
мой файл actions.ts: я предполагаю, чтобы принести контейнер сюда и использовать conainter.get ... это плохая практика
export const increment = () => (dispatch: any) => {
dispatch({
type: INCREMENT
});
};
Мои настройки Сервис
@injectable()
export class SettingsService implements Settings {
@inject(TYPES.Test) private testService!: Test;
get() {
// some api call
return this.testService.test();
}
}
Мой inversify.ts
const container = new Container();
function init() {
container
.bind<Settings>(TYPES.Settings)
.to(SettingsService)
.inSingletonScope();
container
.bind<Test>(TYPES.Test)
.to(TestService)
.inSingletonScope();
}
export { container, init };
Мой вопрос:
1 - где мне инициализировать сервисы? это определение в iversify.ts в порядке? мне нужно инициализировать контейнер в index.ts в приложении реагировать? теперь я вызываю init () в index.ts
2 - как мне вызвать settingsService в actions.ts (action.ts не на основе классов) - это функция действия с избыточностью
3 - должно легко проверяться
Мой стек
Реагировать, редукция, машинопись