Size: a a a

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

2020 March 19

%

%username% in React Native — русскоговорящее сообщество
ну у нас было время подумать да )
источник

%

%username% in React Native — русскоговорящее сообщество
но! у нас нет бэкенда (та-да), то есть мы не валидируем состояние - оно единственное верное на устройстве пользвоателя
источник

%

%username% in React Native — русскоговорящее сообщество
могу кинуть ссылку
источник

VA

Vladimir Akritskiy in React Native — русскоговорящее сообщество
%username%
могу кинуть ссылку
Было бы здорово! Спасибо!
источник

%

%username% in React Native — русскоговорящее сообщество
источник

%

%username% in React Native — русскоговорящее сообщество
валидировать состояние я бы на вашем месте не стал, есть опыт работы с Graphql + Relay и очень положительный, когда стейт один единственный и он пришел из Graphql.
источник

%

%username% in React Native — русскоговорящее сообщество
основные затыки это с валидацией состояния и его актуализацией
источник

VA

Vladimir Akritskiy in React Native — русскоговорящее сообщество
Нам надо хранить довольно много пользовательских данных чтобы приложение работало в офлайне. При переходе в онлайн, данные синхронизируются с беком. Синк мы по сути сделали, так чтобы не бегать по всем данным. Поэтому с этим вроде проблем не должно быть. Меня больше волнует UI. Нет ли проблем в проверке всяких флагов, которые обычно очень близко в стейте и доступ к ним синхронный.
источник

VP

Vitaliy Ponomarev in React Native — русскоговорящее сообщество
Vladimir Akritskiy
У нас просто сейчас такая ситуация что приходится тащить довольно много данных и начались проблемы с памятью и персистом. Логично переместить большие данные в БД, но не очень хочется разделять логику работы с данными, поэтому думаем над тем чтобы перенести в бд весь стейт и работать с ними напрямую.
Рефакторинг очень большой, поэтому хотелось бы узнать заранее о подводных камнях.
если я правильно понимаю, у вас redux + redux-persist.
а вы не пробовали хранилище персиста поменять? Мы в своё время съехали с async storage на realm причём в варианте когда отдельно от redux-persist   остальное хранение организовали там же в realm.

99,9 % что что-то похожее провернуть можно, "горячие" данные + UI state в redux+persist, всё остальное в обход него в той же БД держать.
источник

%

%username% in React Native — русскоговорящее сообщество
Watermelon имеет sync и можно написать правила синхронизации со своим бэкендом
источник

%

%username% in React Native — русскоговорящее сообщество
Но он на столько же хорош, на сколько неудобен
источник

%

%username% in React Native — русскоговорящее сообщество
realm и firestore хороши если свой бэкенд тоже ходит в них, а не синхронизация между realm/firestore + postgres
источник

VP

Vitaliy Ponomarev in React Native — русскоговорящее сообщество
%username%
realm и firestore хороши если свой бэкенд тоже ходит в них, а не синхронизация между realm/firestore + postgres
да, синхронизация с бэком у нас своя была.
источник

AE

Artur Eshenbrener in React Native — русскоговорящее сообщество
firestore так себе история. Не берите ) Лучше свой бек
источник

VA

Vladimir Akritskiy in React Native — русскоговорящее сообщество
Vitaliy Ponomarev
если я правильно понимаю, у вас redux + redux-persist.
а вы не пробовали хранилище персиста поменять? Мы в своё время съехали с async storage на realm причём в варианте когда отдельно от redux-persist   остальное хранение организовали там же в realm.

99,9 % что что-то похожее провернуть можно, "горячие" данные + UI state в redux+persist, всё остальное в обход него в той же БД держать.
Да, мы уже поменяли хранилище, но это не решает большой объем данных в памяти, что крашит приложение на телефонах с небольшой оперативной памятью. Ну И время на запись персиста не маленькое, если быстро убить приложение, то часть данных теряется.

А по последнему. Вот как раз думаю чтобы не было отдельной логики в обход. Если есть сложности, то скорее всего так и придется часть в редаксе хранить, а часть в бд брать
источник

%

%username% in React Native — русскоговорящее сообщество
Artur Eshenbrener
firestore так себе история. Не берите ) Лучше свой бек
он позволяет быстро проверять гипотезы и выпускать приложения с обновлениями в реальном времени, аналитикой и авторизацией почти во всех сервисах за 2-4 недели. Свой бэк так не позволяет + нужен бэкенд разработчик (накладненько). Потому если вам MVP - firebase один из лучших инструментов, если долго и хорошо, да еще и удобно - свой бэкенд.
источник

AE

Artur Eshenbrener in React Native — русскоговорящее сообщество
%username%
он позволяет быстро проверять гипотезы и выпускать приложения с обновлениями в реальном времени, аналитикой и авторизацией почти во всех сервисах за 2-4 недели. Свой бэк так не позволяет + нужен бэкенд разработчик (накладненько). Потому если вам MVP - firebase один из лучших инструментов, если долго и хорошо, да еще и удобно - свой бэкенд.
И быть готовым хотя бы морально переписать после проверки гипотезы
источник

%

%username% in React Native — русскоговорящее сообщество
увы да )
источник

A

Alexander in React Native — русскоговорящее сообщество
Как сделать редирект на другую страницу так, чтобы сработал ComponentDidMount ?
источник

A

Alexander in React Native — русскоговорящее сообщество
"react-navigation": "^4.0.10"
источник