в приложение, нужно сразу отправлять запрос на проверку наличия jwt токена (я хочу хранить его в httpOnly куках, т.е я не проверю на клиенте). И если этот jwt-check get запрос мне вернет там данные о пользователе например, значит всё норм и токен валиден и он есть. Запрос получается надо делать на самом верху приложения, например в App.
Правильно я понимаю систему, или нет?
это не по реакту
По реакту. Я хочу понять как реализовать систему работы jwt на клиенте с реактом правильно 😬
Нууу… если у тебя нет своего хранилища типа редакса или мобикса (там можно было бы через flow() сделать) Ну я бы сделал просто useEffect(() => fetch(“”), []); в App
создай обертку и при первом рендеринге запрос, все
Не, понятно что можно просто сохранить в стейте, но я читал что вроде желательно прокидывать аксес токен в куках. Поэтому вот хочу понять как это на уровне приложения сделать, и желательно правильно 😅
как ты описал - пойдет
Дак не, можно же тип делать экшны обычные, те же запросы, чтобы они выполнялись хранилищем и был распил архитектуры. Нежели все срать на компоненте и ловить потом ошибки типа «произошёл установка состояния на уже анмаунченном компоненте»
А если роутинг? И нужно отложить рендер авторизованных рутов?
да, надо чек роутинг написать логику, анивей
Вот кстати про эту потерю памяти я тоже хотел спросить. Если прилетает запрос в уже анмаунченном компоненте, то пишет про утечку. Я видел 2 пути чтобы это фиксить. Либо стейт и там ставить флаги true/false, и если после запроса не тот флаг, значит записи не будет. 2 варик это делать через AbortController, т.е при размонтировании просто отменять запрос. Какой лучше?
Я зашёл в комменты по хабрус одной статьей про это и там чел сказал что пусть лучше будут ошибки эти, не особо влияющие на что-то чем ненужная логика остановки запросов, тем более что зарос setState вроде нельзя остановить
Обсуждают сегодня