@marrs

Mobile first для react native, как лучше реализовать?

Привет! Нужно приложение работающее в оффлайн.

Сейчас работает так:
1) в state загружаются данные из AsyncStorage и рендерится в render()
2) посылается асинхронный запрос на сервер и если запрос выполнен успешно, то обновляется state и рендерится в render() и обновляются данные в AsyncStorage

Код примерно такой
constructor() {
        this.state = {
            invoices: []
        }
        this.getStorage()
    }

async getStorage() {
        try {
            let invoices = JSON.parse(await AsyncStorage.getItem('invoices'))

			this.setState({
				invoices: invoices
			})

			fetch(server_url).then(response => {
					return response.json()
			}).then(json => {
				// AsyncStorage
				storage.set('invoices', JSON.stringify(json))
				this.setState({
					invoices: invoices
				})
			})
        }
    }


Как видите никаких проверок наличие сети и сетевых ошибок нет. Вроде никаких проблема не вижу с таким методом, человек будет видеть только то, что возможно достать сейчас и это в данном конкретном случае лучше, чем видеть ошибку, но в мобильной разработке опыта мало,чего то могу не понимать, кто что посоветует лучше?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
https://github.com/rt2zz/redux-persist
этот пакет сохраняет состояние стора в AsyncStorage за вас. Тогда вам не нужно руками заносить данные в стор и это на много удобнее, но ваш метод тоже не плох.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы