Использование Realm в приложении React Native с Redux

21

Я собираюсь начать разработку приложения React Native и полностью убежден в преимуществах управления состоянием приложения с помощью Redux, однако я хотел бы сделать доступными данные приложения в автономном режиме, используя Realm для постоянного хранения. Мне интересно, как Redux будет играть с Realm?

Приложение, которое я разрабатываю, будет вытаскивать большое количество данных JSON через RESTful API, а затем я хотел бы сохранить эти данные в локальном хранилище. По-видимому, Realm является отличным вариантом для этого. Однако я не уверен, как база данных Realm будет существовать в магазине Redux? Должно ли оно существовать вне магазина? Является ли использование Realm в приложении на основе Redux каким-то противоречием?

У меня был хороший поиск статей, описывающих использование Realm или других параметров хранилища (Asyncstorage или SQLite) для больших наборов данных с помощью Redux и может найти мало информации.

  • 2
    Почему бы не определить действия LOAD / SAVE, которые фактически делают асинхронные вызовы базы данных области для загрузки / сохранения нужных фрагментов данных. Вроде как обработка базы данных области как другой службы, потому что вы не можете загружать очень большие объемы данных за один раз.
  • 0
    Могу я спросить, насколько велика "большая"?
Показать ещё 2 комментария
Теги:
react-native
realm
redux

1 ответ

10
Лучший ответ

Магазин redux хорош, когда вы только реагируете на компоненты, относящиеся к данным. Магазин - это хороший способ поддерживать состояние вашего приложения. Например, вам не нужно, чтобы Realm сохранял текущий статус входа или флажки, указывающий, пропустил ли пользователь вход в систему. Здесь находится магазин redux.

С другой стороны, Realm является лучшим, когда вам приходится иметь дело со сложными запросами или большим объемом данных, которые нужно сохранить. Преимущество использования Realm заключается в том, что к данным можно легко получить доступ к вашим реактивным компонентам, а также к непрореагировавшим компонентам/классам. Realm дает вам преимущество для мониторинга ваших данных с помощью Realm Browser и построения отношений между вашими моделями. Царство также выигрывает гонку, если вам нужно выполнять какую-либо автономную синхронизацию.

Должно ли существовать внешнее хранилище - Да.

Является ли использование Realm в приложении на основе Redux как-то противоречием - Это зависит от того, для чего вы используете хранилище.

  • 0
    Спасибо за ваш превосходный ответ :-) После написания этого вопроса я гораздо лучше понимаю, что такое редукс и как он используется, и я полностью согласен с вашими утверждениями выше. Я до сих пор не совсем уверен, нужно ли мне использовать Realm или будет ли хранилище Redux адекватным. Я подозреваю, что позже для моего случая использования. Еще раз спасибо.
  • 0
    Мы принимаем аналогичное решение - приняли ли вы окончательное решение, и если да, довольны ли вы выбором? Мы уже реализовали Realm, но находим, что это добавляет много накладных расходов нашему проекту, и рассматриваем возможность его удаления. Мне просто интересно, насколько автономно имеет значение для многих мобильных приложений - тем более, что у нас ecom, а не то, что люди когда-либо ожидают делать в автономном режиме.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню