#typescript #types #react-typescript
#typescript #типы #реагировать-typescript
Вопрос:
Привет, я хочу создать тип, подобный этому :
export type LoginResult = {
readonly token: string;
readonly renewal_token: string;
} | boolean;
Но когда a объявляет константу как этот тип, и требуется доступ к токену или обновлению, он выдает:
Property 'token' does not exist on type 'LoginResult'.
Property 'token' does not exist on type 'false'.ts(2339)
Как я могу это сделать? Есть ли какой-либо другой лучший способ добиться этого?
Спасибо.
Комментарии:
1. какова цель определения интерфейса, который определяет логическое значение и объект? это фактически то, о чем предупреждает typescript. при определении переменной вашего интерфейса эта переменная ciuls имеет два очень разных типа. Другими словами, логическое значение не содержит токена… Вам нужно переделать свой интерфейс. почему бы просто не добавить логическое свойство в свой интерфейс? если true, то токен заполнен, если false — нет.
2. В настоящее время у меня все так, как вы говорите, с логическим значением в объекте, но я хотел бы знать, можно ли этого достичь.