React Native - Как узнать, что хранится в AsyncStorage?

[Д0] someClassWithinYourSourceDir.getClass () getResourceAsStream ();.

23
задан Wonka 25 July 2016 в 14:16
поделиться

4 ответа

Следующее должно работать,

AsyncStorage.getAllKeys((err, keys) => {
  AsyncStorage.multiGet(keys, (error, stores) => {
    stores.map((result, i, store) => {
      console.log({ [store[i][0]]: store[i][1] });
      return true;
    });
  });
});
3
ответ дан ray 25 July 2016 в 14:16
поделиться

React Native Debugger имеет встроенную функцию.

Просто позвоните showAsyncStorageContentInDev() в консоли RND, и вы увидите дамп хранилища вашего приложения.

28
ответ дан Jayden 25 July 2016 в 14:16
поделиться

С помощью Синяя птица вы можете сделать это:

const dumpRaw = () => {
  return AsyncStorage.getAllKeys().then(keys => {
    return Promise.reduce(keys, (result, key) => {
      return AsyncStorage.getItem(key).then(value => {
        result[key] = value;
        return result;
      });
    }, {});
  });
};

dumpRaw().then(data => console.log(data));
2
ответ дан Tim Scott 25 July 2016 в 14:16
поделиться

Я не обнаружил, что в Reactotron был бы включен какой-либо тип симпатичной печати, и это также жестоко скрыто, поэтому я просто написал простую функцию с использованием lodash. Вы также можете использовать подчеркивание.

Если у вас есть статическое отображение всех ваших ключей ...

const keys = {
  key1: 'key1',
  key2: 'key2'
}

export function printLocalStorage() {
  _.forEach(keys, (k, v) => {
    localStore.getAllDataForKey(v).then(tree => {
      console.log(k) // Logs key above the object
      console.log(tree) // Logs a pretty printed JSON object
    })
  })
}

Это не производительность, но это решает проблему.

0
ответ дан Phil Andrews 25 July 2016 в 14:16
поделиться
Другие вопросы по тегам:

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