Установить состояние магазина Vuex с помощью машинописи - PullRequest
0 голосов
/ 02 марта 2020

Есть ли у меня способ установить Vuex Store с машинописью, но он должен быть пустым?

Мой текущий код для этого:

export default new Vuex.Store({
  strict: true,
  state: {
    username: string
  },
});

Но в настоящее время я получаю: msgstr "строка" относится только к типу, но используется здесь как значение ". Я знаю, что могу затем вставить строку в имя пользователя, но мне нужно, чтобы она была пустой.

1 Ответ

0 голосов
/ 02 марта 2020
export default new Vuex.Store({
    strict: true,
    state: {
      username: ""
    },
  });

Таким образом, имя пользователя объявляется как строка и все еще пусто в начале.

Лично я бы go следовал бы по следующему маршруту:

/* location: '/src/models/state.ts': */
interface IState {
    username?: string;
}

/* location: '/src/store.ts': */
const state: IState = {username: undefined};

export default new Vuex.Store({strict: true, state});

Таким образом, вы можно было бы лучше набрать для вашего магазина состояние и оставить имя пользователя undefined, как в вашем вопросе. Вам также не нужно запоминать проверку на неопределенность, поскольку ваша IDE будет напоминать вам, что вам нужно проверять state.username !== undefined всякий раз, когда вы хотите использовать имя пользователя в качестве строки.
Поэтому рассмотрите возможность использования пустой строки в качестве начального значения и не разрешить undefined, удалив ? в интерфейсе.

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