我使用React native。
当我从AsyncStorage获得存储数据时,如下所示。
const keys = await AsyncStorage.getAllKeys();
const result = await AsyncStorage.multiGet(keys);
const stringResult = result.toString();
console.log(stringResult);
结果有如下奇怪的\
。
persist:root,{"usersReducer":"{"isLoggedIn":true,"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NiwiaWF0IjoxNjU3MTI5MDEwfQ.iA2AsFXuKMNAM1vgrPswjdCU46PemIu771SDqWKWqAw"}","_persist":"{"version":-1,"rehydrated":true}"}
我使用redux-persist
,所以它有'persist:root'在前面,我猜。
无论如何,这使我无法获得数据与此代码:等待AsyncStorage.getItem("isLoggedIn"
为什么有?当我存储数据时,我不会把这些东西放进去。
我从下面的代码得到数据…
const keys = await AsyncStorage.getAllKeys();
const result = await AsyncStorage.multiGet(keys);
const modifiedResult = result.flat().splice(1);
const parseResult = JSON.parse(
JSON.parse(JSON.parse(JSON.stringify(modifiedResult)).toString())
.usersReducer
);
const { isLoggedIn } = parseResult;
我做多个x2 JSON。解析和JSON。stringify😂不确定这是不是正确的方式。无论如何,值被正确提取。