如何在react-native中使用AsyncStorage保存一个Items数组?因此,每次在列表中添加其他联系人时,它都会不断添加而不是重写
码:
saveContacts = ()=> {
try {
let con = {
roomId: this.state.roomId,
nickname: this.state.nickname,
}
AsyncStorage.setItem('contacts', JSON.stringify(con));
}catch(error) {
alert(error)
}
}
您可以检索联系人并将新联系人连接到列表,然后将其重新设置为存储。只需确保最初将其设置为空数组:
AsyncStorage.getItem('contacts')
.then((contacts) => {
const c = contacts ? JSON.parse(contacts) : [];
c.push(con);
AsyncStorage.setItem('contacts', JSON.stringify(c));
});
获取并将记录设置为数组,然后保存到AsyncStorage:
saveContacts = async () => {
try {
let con = {
roomId: this.state.roomId,
nickname: this.state.nickname,
}
const contacts = await AsyncStorage.getItem('contacts') || '[]';
contacts = JSON.parse(contacts);
contacts.push(con);
AsyncStorage.setItem('contacts', JSON.stringify(contacts)).then(() => {
console.log('Contacts updated.')
});
} catch(error) {
alert(error)
}
};