Спасибо jcalz и pac0 за ваше руководство и терпение. Я извиняюсь за нечеткий вопрос. Я действительно хочу решить эту проблему быстро. Осознав это, я отредактировал вопрос.
Существует суперкласс:
class Bar<S = {}, Store = {}> {
state?: S
store?: Store
getInitialState(initialState: S) {
return {
...initialState,
b: 'bar'
}
}
}
В этом классе есть метод getInitialState
. он должен принять объект и вернуть новый объект с новым свойством b
. Когда я расширяю его следующим образом:
class Baz extends Bar {
state = initialState
store = this.getInitialState(initialState)
constructor() {
super()
}
}
store
будет присвоено возвращаемое значение getInitialState
, передающее initialState
. Таким образом, ожидаемый тип магазина выглядит следующим образом:
{
a: string,
b: string
}
, но на самом деле это:
{
b: string;
}
Так почему же такое поведение и как мне поступить, чтобы получить то, что я хочу?
Всего демо: Детская площадка