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
, удалив ?
в интерфейсе.