Есть ли простая опция синхронного хранения для реагирования на родной язык?

У меня есть прецедент для синхронного хранения для моего адаптивного родного приложения.

Прежде чем приложение отобразит домашний вид, я хочу проверить, есть ли токен сеанса, хранящийся в локальном хранилище, и продолжить, если он доступен, в противном случае вместо этого в качестве исходного представления нужно будет отображать компонент входа.

Использование хранилища синхронизации упростит код.

Ответ 1

Я не думаю, что есть простая опция синхронного хранения. В соответствии с этим ответ localstorage не реализован в ядре JavaScript IOS. AFAIK другие параметры, такие как те, которые используются в this localstorage polyfill, не работают. Это оставляет нам необходимость в реагировании на собственный модуль, который по своей сути является асинхронным. Из документы:

React Native bridge является асинхронным, поэтому единственный способ передать результат JavaScript - это использовать обратные вызовы или испускать события

Итак, я думаю, что Async - это путь.

Ответ 3

У меня есть аналогичная ситуация, и найдено, что Realm поддерживает синхронное чтение, и это то, что мне нужно. Realm является немного большим для хранения одного токена. Я использую AsyncStorage для всего остального. Дайте мне знать, если вы найдете более простое решение.

Ответ 4

Там нет решения, аналогичного с разработкой Native Mobile, таких как SharedPreferences в Android.

Родной путь: большинство операций синхронизируются. (например, чтение из хранилища и т.д.), некоторые операции выполняются асинхронно (запрос http, загрузка образа)

Реагируйте Родным способом: почти все операции асинхронны. это объясняется ответом @Ryan Harmuth.

Итак, давайте начнем использовать Redux в качестве решения. :)