Я создаю настолько сложное приложение, что мне нужно разделить состояние на два меньших. К сожалению, некоторые селекторы в состоянии A должны читать некоторые поля из состояния B, а некоторые селекторы в состоянии B должны читать некоторые поля из состояния A.
Например - Состояние A:
@Injectable({ providedIn: "root" })
@State<{x: number;}>({
name: "stateA",
defaults: {x: 0}
})
export class StateA {
@Selector([StateB])
public static someSelector(stateA, stateB) {
// do stuff...
}
}
и Состояние B:
@Injectable({ providedIn: "root" })
@State<{y: number;}>({
name: "stateB",
defaults: {y: 0}
})
export class StateB {
@Selector([StateA])
public static someSelector(stateB, stateA) {
// do stuff...
}
}
Когда я пытаюсь реализовать это, я получаю ошибку: Uncaught ReferenceError: Cannot access 'StateA' before initialization
ошибка исчезает, как только : state A uses B and B doesn't use A
или state B uses A and A doesn't use B
Как это исправить?