在AsyncStorage中保存一组Items

时间:2017-12-20 01:09:43

标签: javascript arrays react-native items asyncstorage

如何在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)
            }
        }

2 个答案:

答案 0 :(得分:7)

您可以检索联系人并将新联系人连接到列表,然后将其重新设置为存储。只需确保最初将其设置为空数组:

FD_Remove

答案 1 :(得分:1)

获取并将记录设置为数组,然后保存到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)
    }
};