我在React Native中保存一些項目到AsyncStorage
,我使用的是Chrome調試器和iOS模擬器。React Native - 如何查看AsyncStorage中存儲的內容?
沒有反應過來本地,使用常規的Web開發localStorage
,我能夠看到存儲localStorage
項目下Chrome Debugger > Resources > Local Storage
任何想法,我怎麼能查看陣營本地AsyncStorage
存儲的項目?
我在React Native中保存一些項目到AsyncStorage
,我使用的是Chrome調試器和iOS模擬器。React Native - 如何查看AsyncStorage中存儲的內容?
沒有反應過來本地,使用常規的Web開發localStorage
,我能夠看到存儲localStorage
項目下Chrome Debugger > Resources > Local Storage
任何想法,我怎麼能查看陣營本地AsyncStorage
存儲的項目?
您可以使用reactotron我認爲它有異步存儲資源管理器) https://github.com/infinitered/reactotron
這不是答案嗎?這是一個非常好的工具! – dericcain
隨着bluebird你可以這樣做:
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));
由於您使用的是箭頭功能,因此您可以使用簡寫箭頭功能: 而不是'a => {return b => {return c}}'你可以做'a => b => c' –
只需撥打showAsyncStorageContentInDev()
即可D控制檯,您將能夠看到應用程序存儲的轉儲。
我沒有發現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
})
})
}
這不是高性能的,但它解決了這個問題。
不知道是否存在這樣的工具,我通常只是查詢它並傳遞一個回調來記錄它。 AsyncStorage.getItem('thing')。then((res)=> console.log(res))' – agmcleod
是的,這就是我現在要做的,但試圖看看是否有可視化的方式來查看存儲中的所有內容。 – Wonka
放入UI組件https://github.com/vczero/rn-cook – James