Size: a a a

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

2021 January 26

АЕ

Алексей Ефимов... in React — русскоговорящее сообщество
Vladimir Klimov
так задайте им этот вопрос
если бы можно было напрямую с проверяющим то задал бы) а так все через hr
источник

TK

Timur Kamilov in React — русскоговорящее сообщество
Ребят, подскажите плз. У меня есть отдельный файл axios.js где я создаю instance чтобы посадить в него глобальные настройки. Далее у моего инстанса есть интерсептор, которые смотрит там токен протух или нет и т.д. И вот вопрос: каким образом вызвать функцию из Context API в этом файле?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Алексей Ефимов
если бы можно было напрямую с проверяющим то задал бы) а так все через hr
Ну а кто вам ответит от имени проверяющего?)
Просите у hr более детальный фидбек
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Timur Kamilov
Ребят, подскажите плз. У меня есть отдельный файл axios.js где я создаю instance чтобы посадить в него глобальные настройки. Далее у моего инстанса есть интерсептор, которые смотрит там токен протух или нет и т.д. И вот вопрос: каким образом вызвать функцию из Context API в этом файле?
Что за "функцию из context API"?
источник

TK

Timur Kamilov in React — русскоговорящее сообщество
Vladimir Klimov
Что за "функцию из context API"?
рефреш токена
источник

TK

Timur Kamilov in React — русскоговорящее сообщество
я отлавливаю глобально, что токен протух и хочу вызвать refreshToken допустим
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Timur Kamilov
рефреш токена
Рефрешем токена должна заниматься не функция из  context API, а отдельная функция из сервисного слоя, которую надо использовать и внутри компонентов/сторы, через нее делать запросы
источник

TK

Timur Kamilov in React — русскоговорящее сообщество
Vladimir Klimov
Рефрешем токена должна заниматься не функция из  context API, а отдельная функция из сервисного слоя, которую надо использовать и внутри компонентов/сторы, через нее делать запросы
у меня есть сервисный слой, функция лежит в /services/auth.js
источник

TK

Timur Kamilov in React — русскоговорящее сообщество
её я вызываю в context
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Timur Kamilov
у меня есть сервисный слой, функция лежит в /services/auth.js
Их и вызывайте)
источник

TK

Timur Kamilov in React — русскоговорящее сообщество
это да, но как потом isLoading допустим в context тру или фолс сделать
источник

И

Иван in React — русскоговорящее сообщество
Timur Kamilov
это да, но как потом isLoading допустим в context тру или фолс сделать
Реализуешь в сервисном слое паттерн observable, в компоненте, который провайдит контекст, подписываешься, при изменении значения в observable складываешь его в стейт, стейт передаёшь в контекст
источник

И

Иван in React — русскоговорящее сообщество
Timur Kamilov
это да, но как потом isLoading допустим в context тру или фолс сделать
Любой стейт-менеджер поддерживает такое поведение
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Всем привет!
Ситуация такая: Имеется select привязанный к предметной области, он жёстко связан с хранилищем redux. Оттуда он получает свои options. Соответственно имеется проблема расположения на странице более одного селекта. Т.к. они шерят состояние, то при изменении опшенов одного селекта изменяются и опшены другого селекта (селекты асинхронные). Есть идея сделать hoc в котором присваивать каждому селекту уникальный id и кэшировать опшены. Кто-нибудь сталкивался с такой проблемой?
источник

И

Иван in React — русскоговорящее сообщество
David Arutiunian
Всем привет!
Ситуация такая: Имеется select привязанный к предметной области, он жёстко связан с хранилищем redux. Оттуда он получает свои options. Соответственно имеется проблема расположения на странице более одного селекта. Т.к. они шерят состояние, то при изменении опшенов одного селекта изменяются и опшены другого селекта (селекты асинхронные). Есть идея сделать hoc в котором присваивать каждому селекту уникальный id и кэшировать опшены. Кто-нибудь сталкивался с такой проблемой?
Отвяжи селект от редакса и передавай options через пропсы
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Ну это понятно, но проект большой и это займёт очень много времени
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Нужно другое решение
источник

И

Иван in React — русскоговорящее сообщество
David Arutiunian
Ну это понятно, но проект большой и это займёт очень много времени
Создай рядом ещё один селект, жестко привязанный к предметной области. Общий код вынеси в отдельный компонент. Это и будет твой селект, в который options передаются через пропсы
источник

TK

Timur Kamilov in React — русскоговорящее сообщество
Иван
Реализуешь в сервисном слое паттерн observable, в компоненте, который провайдит контекст, подписываешься, при изменении значения в observable складываешь его в стейт, стейт передаёшь в контекст
а что если я перенесу interceptor в useEffect контекста? там где я сажаю токен в header аксиоса?
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Иван
Создай рядом ещё один селект, жестко привязанный к предметной области. Общий код вынеси в отдельный компонент. Это и будет твой селект, в который options передаются через пропсы
Это тоже порождает проблему того, что везде надо будет сам селект менять. Таких мест много, сейчас нет возможности на это время тратить. Не прошу правильного решения, прошу хака))
источник