У меня есть следующее interfaces
объявленное
export interface User {
...
first: string;
...
}
export interface UserDataState {
credentials: User | {};
..
}
В моем реактивном компоненте я хочу иметь возможность доступа к first
в UserDataState
следующим образом:
const userData = useSelector((state: RootState) => state.user.credentials);
Welcome, { userData.first }
Однако я получаю эту ошибку
Property 'first' does not exist on type '{} | User'.
Поэтому я попробовал следующее:
let userFirst = '';
if (userData.hasOwnProperty('first')) {
userFirst = userData.first;
}
...
return ( <span>{userFirst}</span>)
и ..
return ( {userData && userData.first && (<span>{userData.first}</span>)})
Я не я хочу сделать пользователя первым необязательным, и мне нужно иметь возможность возвращать пустой объект в качестве учетных данных. Это очень сильно раздражает.