Size: a a a

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

2020 March 21

ДА

Данила Андреев in React Native — русскоговорящее сообщество
Ребята, всем привет, чем нынче пользуются, чтобы быстро доставить сборку до тестера ? Android.
источник

DS

Dmitry Shcherbakov in React Native — русскоговорящее сообщество
App center
источник

DS

Dmitry Shcherbakov in React Native — русскоговорящее сообщество
Это самая распространенная, для ios тестфлайт, и в плеймаркете через аккаунт грузить версии
источник

ДА

Данила Андреев in React Native — русскоговорящее сообщество
Alexander
Ребят, у меня есть вот такой stack экранов, этот stack подключается в tab navigator, как мне отключить tabBarVisible на CompletedChats?
Могу код в лс скинуть
<Tab.Screen
     name={...}
     component={ChatStack}
     options={({ route }) => ({ tabBarVisible: route.name === 'CompletedChats' })}
/>

Так не заработает ? К сожалению не могу сейчас проверить.
источник

A

Alexander in React Native — русскоговорящее сообщество
Данила Андреев
<Tab.Screen
     name={...}
     component={ChatStack}
     options={({ route }) => ({ tabBarVisible: route.name === 'CompletedChats' })}
/>

Так не заработает ? К сожалению не могу сейчас проверить.
У меня в Tab.Screen стек страниц, в этом стеке только на первой должен быть tabBarVisible
источник

Э

Эль Копетан Тотарен in React Native — русскоговорящее сообщество
Подскажите как правильно реализовать такое:
Есть ApiService, в котором я делаю запросы через axios. Там же есть interceptor, который должен проверять валидность токена, если он истёк - обновить его перед запросом, и потом продолжить.
Есть userActions, в которых я отправляю разные запросы. Сам токен лежит в userReducer.
Использую redux-thunk.
Я, конечно, могу доставать в ApiService токен из localStorage, но это же неправильно и некрасиво держать стороннюю логику в сервисе, задача которого - отправить запрос и получить ответ.
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Эль Копетан Тотарен
Подскажите как правильно реализовать такое:
Есть ApiService, в котором я делаю запросы через axios. Там же есть interceptor, который должен проверять валидность токена, если он истёк - обновить его перед запросом, и потом продолжить.
Есть userActions, в которых я отправляю разные запросы. Сам токен лежит в userReducer.
Использую redux-thunk.
Я, конечно, могу доставать в ApiService токен из localStorage, но это же неправильно и некрасиво держать стороннюю логику в сервисе, задача которого - отправить запрос и получить ответ.
Если токен лежит в стейте, то и брать его надо из стейта.
Насчет сторонней логики... не совсем так. Задача ApiService, вами же сформулированная: отправить запрос, получить ответ и обновить токен. Вот этим он и должен заниматься.
По поводу обновления токена... тут все стандартные варианты решений применимы от самого простого - мы передаём store в ApiService, он знает где там лежит токен и знает какой акшн надо дернуть, чтоб его поменять (после обновления). До инверсии контроля, когда ApiService предоставляет наружу апи для установки токена и генерит события при его обновлении... но надо ли это всё, только от вас зависит
источник

Э

Эль Копетан Тотарен in React Native — русскоговорящее сообщество
Gena Black
Если токен лежит в стейте, то и брать его надо из стейта.
Насчет сторонней логики... не совсем так. Задача ApiService, вами же сформулированная: отправить запрос, получить ответ и обновить токен. Вот этим он и должен заниматься.
По поводу обновления токена... тут все стандартные варианты решений применимы от самого простого - мы передаём store в ApiService, он знает где там лежит токен и знает какой акшн надо дернуть, чтоб его поменять (после обновления). До инверсии контроля, когда ApiService предоставляет наружу апи для установки токена и генерит события при его обновлении... но надо ли это всё, только от вас зависит
А если я буду связывать сервис со стейтом - это не создаст каких-либо потенциальных и неочевидных проблем?
источник

Л

Лиса 🦊 in React Native — русскоговорящее сообщество
Эль Копетан Тотарен
Подскажите как правильно реализовать такое:
Есть ApiService, в котором я делаю запросы через axios. Там же есть interceptor, который должен проверять валидность токена, если он истёк - обновить его перед запросом, и потом продолжить.
Есть userActions, в которых я отправляю разные запросы. Сам токен лежит в userReducer.
Использую redux-thunk.
Я, конечно, могу доставать в ApiService токен из localStorage, но это же неправильно и некрасиво держать стороннюю логику в сервисе, задача которого - отправить запрос и получить ответ.
а чего вы не хотите через перехватчик axios валидировать токен?
источник

Л

Лиса 🦊 in React Native — русскоговорящее сообщество
не через ApiService
источник

Э

Эль Копетан Тотарен in React Native — русскоговорящее сообщество
Лиса 🦊
не через ApiService
А как? Я перехватчиком и хочу
источник

Л

Лиса 🦊 in React Native — русскоговорящее сообщество
а обязательно хранить токен в стейте?
источник

Э

Эль Копетан Тотарен in React Native — русскоговорящее сообщество
Лиса 🦊
а обязательно хранить токен в стейте?
Мне токен приходит в объекте юзера после авторизации
источник

Э

Эль Копетан Тотарен in React Native — русскоговорящее сообщество
Поэтому оно все в стейте лежит
источник

Л

Лиса 🦊 in React Native — русскоговорящее сообщество
я не знаю вашу архитектуру, конечно) но мы пришли к тому, что храним токен и рефреш токен только в защищенном хранилище)
1) в axios.interceptors.request.use он сетается в хедер запроса
2) в axios.interceptors.response.use отлавливается ошибка авторизации и при необходимости рефреш токена происходит

при авторизации пользователя - токен записывается не только в стейт, но и в локальное хранилище
источник

Л

Лиса 🦊 in React Native — русскоговорящее сообщество
Эль Копетан Тотарен
Поэтому оно все в стейте лежит
но у нас не мобикс) поэтому нет необходимости изоляцию делать
источник

Э

Эль Копетан Тотарен in React Native — русскоговорящее сообщество
Лиса 🦊
но у нас не мобикс) поэтому нет необходимости изоляцию делать
То есть доставать токен из локалстораджа это ок?
источник

Л

Лиса 🦊 in React Native — русскоговорящее сообщество
Эль Копетан Тотарен
То есть доставать токен из локалстораджа это ок?
я обозначила, что это защищенное хранилище
источник

D

Denis in React Native — русскоговорящее сообщество
Эль Копетан Тотарен
А как? Я перехватчиком и хочу
Посмотри как сделан OkHttp Authenticator
источник

D

Denis in React Native — русскоговорящее сообщество
И вопросов не будет
источник