setUser ожидает получить данные в любом случае, а передаются они не в любом случае, а только если res существует
я мог ступить с кодом, но суть я надеюсь, ты понял
Кажется, AxiosResponse<T> хранит T в поле data. Если так, то res?.data?.data решит проблему, но это не точно
что? как это?...
export interface AxiosResponse<T = any> { data: T; status: number; statusText: string; headers: any; config: AxiosRequestConfig; request?: any; }
да посмотри что он в типах выводит для начала
я вообще не понял, что ты тут сделал (x перепиши так: typeof res.data === typeof Parameters<setAvatar>[0] && dispatch (дальше ты знаешь)
if (res) { dispatch...(res.data) }
так не пойдет ? )
нет, TS не знает какой тип у data, вот и ругается вообще, у data тип наверное, просто any
мне казалось что он ругается потому что data, как и res может не быть вовсе... видимо я что-то упустил )
ты не лжёшь на это он тоже ругается
даже если я делаю проверку на наличие data все равно ругается
Сделай, плиз, res?.data?.data, а то я спать спокойно не смогу))
не string а AxiosResponse<userType>
ничего не понял, но ошибка пропала. Теперь оно б еще работало хорошо
спасибо
что за магия
в res лежит тип { data?: AxiosResponse<userType>; error: AxiosError; } а setUser требует userType Интерфейс AxiosResponse<T> я уже показывал, он библиотечный. Чтобы нормальную дату достать из res надо res?.data?.data сделать)
это же с сервера всё возвращается, откуда там достался то, что принимает setUser? или... typeof data.data === any
Да ну в сообщении об ошибке всё написано же. Типа хочу userType, а ты мне дал AxiosResponse<userType>, а ведь он никак-никак не userType, в нём даже нет username, email....
а.... а ты прав. Теперь допёр там ещё писалось, что он generic принимает
ага-ага ((x слушай, у меня беда с moduleResolution, я вообще допереть не могу, как он работает, делов там на минут. Поможешь?
Так ну пиши сюда, nometa, все дела) Не я помогу, так кто другой. А третий прочитает решение и ему пригодится
Обсуждают сегодня