Typescript: ReferenceError: Невозможно получить доступ к «Store» до инициализации - PullRequest
2 голосов
/ 02 июня 2019

У меня есть класс Store, который инкапсулирует State (используется mobx).

export class Store<State> {
    @observable
    public state: State;

    constructor(protected rootStore: RootStore, state: State) {
        this.state = state || ({} as State);
    }

    @action
    setState(state: State) {
        this.state = {
            ...this.state,
            ...state
        };
    }
}

И я пытаюсь реализовать класс UserState:

interface UserState {
    authorised?: boolean;
    loading?: boolean;
    name?: string;
    balance?: number;
}

export class UserStore extends Store<UserState> {
    constructor(rootStore: RootStore) {
        super(rootStore, {
            authorised: false,
            loading: true,
            name: ''
        })
    }
}

Все кажется правильнымдля меня, но у меня есть ошибка:

ReferenceError: Cannot access 'Store' before initialization

Я просто пытаюсь установить некоторые значения по умолчанию в магазине, и кажется, что в Store это внутри конструктора, так что этоочевидно инициализирован.

enter image description here

1 Ответ

0 голосов
/ 03 июня 2019

Проблема была решена путем перемещения класса Store в изолированный файл, прежде чем он был в том же файле, что и глобальное хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...