Size: a a a

React — русскоговорящее сообщество

2021 April 28

🐟🐠

🐟Andrey 🐠Lukin in React — русскоговорящее сообщество
Вытащи все для начала в отдельный хук и сделай его универсальным переиспользуемым для разных запросов.
источник

UC

User Concept in React — русскоговорящее сообщество
Ок, спасибо за развернутый ответ! ) Буду изучать дальше )
источник

UC

User Concept in React — русскоговорящее сообщество
А можете вкратце подсказать, как правильно сделать, в хук мне передавать только строку с адресом для fetch запроса и возвращать из хука объект с 3 ключами, т.е. json, стейт для приложения и error, если он есть или передавать в хук функцию, как это реализовано в useAsync ? Запутался уже совсем если честно, видимо надо перерыв делать )
источник

🐟🐠

🐟Andrey 🐠Lukin in React — русскоговорящее сообщество
Ну тут уже сам придумай как.
Запросы практически никогда не пишут вручную в компонентах хуках, но если уж так хочется нужно как минимум сделать какую то реализацию хука фетчилки на которой строить остальное
источник

UC

User Concept in React — русскоговорящее сообщество
Ок, спасибо! Буду что-нибудь пытаться написать ) Тогда попробую реализовать отдельно хук с фетчем и отдельно хук с возвратом стейта для приложения, получается так по логике наверное нужно
источник

🐟🐠

🐟Andrey 🐠Lukin in React — русскоговорящее сообщество
в теории тебе нужен какой то хук который может делать запрос и возвращать результат запроса и какую то информацию о статусе его выполнения.
Вытащи сначала все что у тебя есть в отдельный хук потом попробуй его переписать так чтоб он работал с другими запросами
источник

UC

User Concept in React — русскоговорящее сообщество
Ок, спасибо за советы! Сейчас так и пробую реализовать. А вообще на практике в большинстве вакансий где требуется уровень junior/middle - подобное придется реализовывать или будут более примитивные/типовые задачи ? Ранее я в основном версткой занимался, frontend относительно недавно стал изучать, охото устроиться куда-нибудь, чтобы себя более-менее уверенно ощущать, вот и подтягиваю уровень
источник

🐟🐠

🐟Andrey 🐠Lukin in React — русскоговорящее сообщество
Иногда придётся, тут просто больше дело в том что запросы в компонентах практика плохая.
источник

UC

User Concept in React — русскоговорящее сообщество
А как посоветуете делать запросы ?
источник

🐟🐠

🐟Andrey 🐠Lukin in React — русскоговорящее сообщество
Ну обычно есть какой то отдельный сетевой и дата слой в виде какого то стейт менеджера
источник

UC

User Concept in React — русскоговорящее сообщество
Ок, тогда еще денек попробую повожусь с хуками и буду пробовать на redux'е делать. А не посоветуете, где вообще можно почитать/посмотреть про то, как правильно строить приложение ? Везде в основном примитивные уроки как сделать todo лист, а как более сложное приложение с грамотной архитектурой написать вообще сложно найти информацию, чтобы более-менее понятным языком было описано.
источник

🐟🐠

🐟Andrey 🐠Lukin in React — русскоговорящее сообщество
А нигде толком ничего и не написано, в реакте все свои велосипеды лепят, общего подхода никакого нет.
источник

UC

User Concept in React — русскоговорящее сообщество
Ок, понял, тогда буду пробовать на практике, спасибо за советы!
источник

AD

Andrii Doroshenko in React — русскоговорящее сообщество
Всем привет, по какой-то причине я получаю вечный цикл фетч запросов, скорее всего это из-за того, что хук вызывает ререндеринг компонента и так по кругу, вопрос в том, что тот же хук нормально работает в других компонентах и только в этой входит в вечный цикл, сейчас скину скрины
источник

AD

Andrii Doroshenko in React — русскоговорящее сообщество
проблемный код
источник

AD

Andrii Doroshenko in React — русскоговорящее сообщество
хук
источник

UC

User Concept in React — русскоговорящее сообщество
Что-то уже совсем тяжело соображаю, может подскажете, в чем ошибка, вынес логику в пользовательский хук, но в компоненте данные не обновляются, они судя по всему и не должны обновляться, т.к. на самом компоненте не установлен useEffect, но как тогда будет правильно сделать ?
источник

UC

User Concept in React — русскоговорящее сообщество
источник

AD

Andrii Doroshenko in React — русскоговорящее сообщество
попробуй так как у меня написать useAsync (выше)
источник

UC

User Concept in React — русскоговорящее сообщество
Могу конечно ошибаться, но тогда какой смысл хуки использовать, если использовать async/await, можно ведь получается полностью нативными способами запрос обработать или нет ?
источник