Проблема в том, что watchSaga
не является функцией-членом класса, это поле, которое имеет значение функции.Таким образом, this
внутри функции watchSaga
не обязательно ссылается на содержащий класс (this
будет напечатано как any
внутри функции)
Рассмотрите возможность сделать функцию функцией-членом:
export class AllReduxSagas {
constructor(private someService: SomeService) { }
*watchSaga() {
yield this.someService;
};
}
Или, если по какой-то причине вы хотите придерживаться поля с синтаксисом функции типа, вы можете явно набрать this
(хотя это не обязательно означает, что переданный this
будет экземпляромкласс, это все еще function
, а не =>
функция стрелки)
watchSaga = function* watchSaga(this: AllReduxSagas) {
yield this.someService;
};