React Native 如何在AsyncStorage中实时更新字符串国家?

olqngx59  于 2023-03-03  发布在  React
关注(0)|答案(2)|浏览(87)

如何在AsyncStorage中实时更新字符串形式的国家a地区?我有一个州const [country, setCountry] = useState(null);,还有一个对象userdata,在userdata中有一个对象名user,在user对象中有一个字符串形式的国家a地区,如何将该国家a地区实时更新到userdata.user.country?
我这样做是因为当我击中API,然后该国家在数据库中更新,但它没有在异步存储更新用户需要重新登录,以更新它在异步存储,所以如何立即更新它?
现在的用户数据如下所示:
LOG {"message": "Successfully Signed In", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2M2Y4NmE2MjA5YjA1NDI5NDZlZjVjZjEiLCJpYXQiOjE2Nzc4MjkzNDh9.tmmN2aSgMGIad1A1IUtylUYDTx8eKNr-ZJykSc1Pais", "user": {"_id": "63f86a6209b0542946ef5cf1", "country": "", "email": "email@gmail.com", "name": "User1"}}

const [userdata, setUserdata] = useState(null);
 const userDataString = await AsyncStorage.getItem('user');
            const userData = JSON.parse(userDataString);
            setUserdata(userData);
iovurdzv

iovurdzv1#

如果直接存储从API获取的userData,可以实现如下:

const changeUpdateCountry = async (userDataFromApi) => {
  await AsyncStorage.setItem('user', JSON.stringify(userDataFromApi));
}
3htmauhk

3htmauhk2#

添加两行代码作品

userdata.user.country = country; // Update country in userdata object
  await AsyncStorage.setItem('user', JSON.stringify(userdata)); // Save

相关问题