Delete Value in AsyncStorage React Native












0















I have a function for looking item exists or not.



addNewPerson(name) {
AsyncStorage.getItem('savedPersons', (err, result) => {
const name = [name];
if (result !== null) {
var newIds = JSON.parse(result).concat(name);
AsyncStorage.setItem('savedPersons', JSON.stringify(newIds));
console.log('Data Found', result);
} else {
AsyncStorage.setItem('savedPersons', JSON.stringify(name));
console.log('Data Added', name);
}
});
}


Now I want to delete some specific person in "savedPersons".


I Tried this code:



AsyncStorage.removeItem('savedPersons','Uzuner');


error text is : "callback is not a function."



How can I delete item in asycnStorage's array?



Solved:



I write this code for deleting item.



removePost = async (post_id) => {
try {
const posts = await AsyncStorage.getItem('savedPersons');
let postsFav = JSON.parse(posts);
const postsItems = postsFav.filter(function(e){ return e !== post_id });

// updating 'posts' with the updated 'postsItems'
await AsyncStorage.setItem('savedPersons', JSON.stringify(postsItems));

} catch(error) {
console.log('error: ', error);
}};


Thanks alot all users for replies.










share|improve this question

























  • 1. load the string from storage and parse it into array 2. remove person from array 3. save stringified array to storage

    – Chris G
    Dec 31 '18 at 11:16











  • thank you. I will try this. Do you have any example code?

    – Hasan Rıza Uzuner
    Dec 31 '18 at 12:11
















0















I have a function for looking item exists or not.



addNewPerson(name) {
AsyncStorage.getItem('savedPersons', (err, result) => {
const name = [name];
if (result !== null) {
var newIds = JSON.parse(result).concat(name);
AsyncStorage.setItem('savedPersons', JSON.stringify(newIds));
console.log('Data Found', result);
} else {
AsyncStorage.setItem('savedPersons', JSON.stringify(name));
console.log('Data Added', name);
}
});
}


Now I want to delete some specific person in "savedPersons".


I Tried this code:



AsyncStorage.removeItem('savedPersons','Uzuner');


error text is : "callback is not a function."



How can I delete item in asycnStorage's array?



Solved:



I write this code for deleting item.



removePost = async (post_id) => {
try {
const posts = await AsyncStorage.getItem('savedPersons');
let postsFav = JSON.parse(posts);
const postsItems = postsFav.filter(function(e){ return e !== post_id });

// updating 'posts' with the updated 'postsItems'
await AsyncStorage.setItem('savedPersons', JSON.stringify(postsItems));

} catch(error) {
console.log('error: ', error);
}};


Thanks alot all users for replies.










share|improve this question

























  • 1. load the string from storage and parse it into array 2. remove person from array 3. save stringified array to storage

    – Chris G
    Dec 31 '18 at 11:16











  • thank you. I will try this. Do you have any example code?

    – Hasan Rıza Uzuner
    Dec 31 '18 at 12:11














0












0








0


1






I have a function for looking item exists or not.



addNewPerson(name) {
AsyncStorage.getItem('savedPersons', (err, result) => {
const name = [name];
if (result !== null) {
var newIds = JSON.parse(result).concat(name);
AsyncStorage.setItem('savedPersons', JSON.stringify(newIds));
console.log('Data Found', result);
} else {
AsyncStorage.setItem('savedPersons', JSON.stringify(name));
console.log('Data Added', name);
}
});
}


Now I want to delete some specific person in "savedPersons".


I Tried this code:



AsyncStorage.removeItem('savedPersons','Uzuner');


error text is : "callback is not a function."



How can I delete item in asycnStorage's array?



Solved:



I write this code for deleting item.



removePost = async (post_id) => {
try {
const posts = await AsyncStorage.getItem('savedPersons');
let postsFav = JSON.parse(posts);
const postsItems = postsFav.filter(function(e){ return e !== post_id });

// updating 'posts' with the updated 'postsItems'
await AsyncStorage.setItem('savedPersons', JSON.stringify(postsItems));

} catch(error) {
console.log('error: ', error);
}};


Thanks alot all users for replies.










share|improve this question
















I have a function for looking item exists or not.



addNewPerson(name) {
AsyncStorage.getItem('savedPersons', (err, result) => {
const name = [name];
if (result !== null) {
var newIds = JSON.parse(result).concat(name);
AsyncStorage.setItem('savedPersons', JSON.stringify(newIds));
console.log('Data Found', result);
} else {
AsyncStorage.setItem('savedPersons', JSON.stringify(name));
console.log('Data Added', name);
}
});
}


Now I want to delete some specific person in "savedPersons".


I Tried this code:



AsyncStorage.removeItem('savedPersons','Uzuner');


error text is : "callback is not a function."



How can I delete item in asycnStorage's array?



Solved:



I write this code for deleting item.



removePost = async (post_id) => {
try {
const posts = await AsyncStorage.getItem('savedPersons');
let postsFav = JSON.parse(posts);
const postsItems = postsFav.filter(function(e){ return e !== post_id });

// updating 'posts' with the updated 'postsItems'
await AsyncStorage.setItem('savedPersons', JSON.stringify(postsItems));

} catch(error) {
console.log('error: ', error);
}};


Thanks alot all users for replies.







javascript react-native






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 31 '18 at 12:37







Hasan Rıza Uzuner

















asked Dec 31 '18 at 11:14









Hasan Rıza UzunerHasan Rıza Uzuner

257




257













  • 1. load the string from storage and parse it into array 2. remove person from array 3. save stringified array to storage

    – Chris G
    Dec 31 '18 at 11:16











  • thank you. I will try this. Do you have any example code?

    – Hasan Rıza Uzuner
    Dec 31 '18 at 12:11



















  • 1. load the string from storage and parse it into array 2. remove person from array 3. save stringified array to storage

    – Chris G
    Dec 31 '18 at 11:16











  • thank you. I will try this. Do you have any example code?

    – Hasan Rıza Uzuner
    Dec 31 '18 at 12:11

















1. load the string from storage and parse it into array 2. remove person from array 3. save stringified array to storage

– Chris G
Dec 31 '18 at 11:16





1. load the string from storage and parse it into array 2. remove person from array 3. save stringified array to storage

– Chris G
Dec 31 '18 at 11:16













thank you. I will try this. Do you have any example code?

– Hasan Rıza Uzuner
Dec 31 '18 at 12:11





thank you. I will try this. Do you have any example code?

– Hasan Rıza Uzuner
Dec 31 '18 at 12:11












2 Answers
2






active

oldest

votes


















1














AsyncStorage.removeItem is an asynchronous task which returns a promise or callback. Also, if you want to remove an element from the array then you need to get the array first,delete the element and push it back to the local storage. Something like this,



AsyncStorage.getItem("savedPersons")
.then(persons =>{
const index = persons.indexOf("Uzuner");
const modifiedPersons = persons.splice(index,1);
AsyncStorage.setItem("savedPersons",modifiedPersons)
.then(() => console.log(done))
.catch((error) => console.log("error"));
})
.catch(error => console.log("Error while retrieving the savePersons"));





share|improve this answer































    -1














    try this



    var savedPersons = JSON.parse(await AsyncStorage.getItem('savedPersons'));
    let i = savedPersons.indexOf("Uzuner");
    if(i > -1) {
    savedPersons.splice(i, 1);
    AsyncStorage.setItem('savedPersons', savedPersons);
    }





    share|improve this answer


























    • I don't want to remove savedPersons all values. I want to delete a specific value. this codes is delete all records in savedPersons.

      – Hasan Rıza Uzuner
      Dec 31 '18 at 12:10











    • @HasanRızaUzuner sorry. I didn't understand correctly. I changed my code

      – SiSa
      Dec 31 '18 at 12:22













    • AsyncStorage.getItem is async, the rest of the code needs to go into its callback.

      – Chris G
      Dec 31 '18 at 12:58











    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53986785%2fdelete-value-in-asyncstorage-react-native%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    AsyncStorage.removeItem is an asynchronous task which returns a promise or callback. Also, if you want to remove an element from the array then you need to get the array first,delete the element and push it back to the local storage. Something like this,



    AsyncStorage.getItem("savedPersons")
    .then(persons =>{
    const index = persons.indexOf("Uzuner");
    const modifiedPersons = persons.splice(index,1);
    AsyncStorage.setItem("savedPersons",modifiedPersons)
    .then(() => console.log(done))
    .catch((error) => console.log("error"));
    })
    .catch(error => console.log("Error while retrieving the savePersons"));





    share|improve this answer




























      1














      AsyncStorage.removeItem is an asynchronous task which returns a promise or callback. Also, if you want to remove an element from the array then you need to get the array first,delete the element and push it back to the local storage. Something like this,



      AsyncStorage.getItem("savedPersons")
      .then(persons =>{
      const index = persons.indexOf("Uzuner");
      const modifiedPersons = persons.splice(index,1);
      AsyncStorage.setItem("savedPersons",modifiedPersons)
      .then(() => console.log(done))
      .catch((error) => console.log("error"));
      })
      .catch(error => console.log("Error while retrieving the savePersons"));





      share|improve this answer


























        1












        1








        1







        AsyncStorage.removeItem is an asynchronous task which returns a promise or callback. Also, if you want to remove an element from the array then you need to get the array first,delete the element and push it back to the local storage. Something like this,



        AsyncStorage.getItem("savedPersons")
        .then(persons =>{
        const index = persons.indexOf("Uzuner");
        const modifiedPersons = persons.splice(index,1);
        AsyncStorage.setItem("savedPersons",modifiedPersons)
        .then(() => console.log(done))
        .catch((error) => console.log("error"));
        })
        .catch(error => console.log("Error while retrieving the savePersons"));





        share|improve this answer













        AsyncStorage.removeItem is an asynchronous task which returns a promise or callback. Also, if you want to remove an element from the array then you need to get the array first,delete the element and push it back to the local storage. Something like this,



        AsyncStorage.getItem("savedPersons")
        .then(persons =>{
        const index = persons.indexOf("Uzuner");
        const modifiedPersons = persons.splice(index,1);
        AsyncStorage.setItem("savedPersons",modifiedPersons)
        .then(() => console.log(done))
        .catch((error) => console.log("error"));
        })
        .catch(error => console.log("Error while retrieving the savePersons"));






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 31 '18 at 12:20









        Swarup BamSwarup Bam

        716




        716

























            -1














            try this



            var savedPersons = JSON.parse(await AsyncStorage.getItem('savedPersons'));
            let i = savedPersons.indexOf("Uzuner");
            if(i > -1) {
            savedPersons.splice(i, 1);
            AsyncStorage.setItem('savedPersons', savedPersons);
            }





            share|improve this answer


























            • I don't want to remove savedPersons all values. I want to delete a specific value. this codes is delete all records in savedPersons.

              – Hasan Rıza Uzuner
              Dec 31 '18 at 12:10











            • @HasanRızaUzuner sorry. I didn't understand correctly. I changed my code

              – SiSa
              Dec 31 '18 at 12:22













            • AsyncStorage.getItem is async, the rest of the code needs to go into its callback.

              – Chris G
              Dec 31 '18 at 12:58
















            -1














            try this



            var savedPersons = JSON.parse(await AsyncStorage.getItem('savedPersons'));
            let i = savedPersons.indexOf("Uzuner");
            if(i > -1) {
            savedPersons.splice(i, 1);
            AsyncStorage.setItem('savedPersons', savedPersons);
            }





            share|improve this answer


























            • I don't want to remove savedPersons all values. I want to delete a specific value. this codes is delete all records in savedPersons.

              – Hasan Rıza Uzuner
              Dec 31 '18 at 12:10











            • @HasanRızaUzuner sorry. I didn't understand correctly. I changed my code

              – SiSa
              Dec 31 '18 at 12:22













            • AsyncStorage.getItem is async, the rest of the code needs to go into its callback.

              – Chris G
              Dec 31 '18 at 12:58














            -1












            -1








            -1







            try this



            var savedPersons = JSON.parse(await AsyncStorage.getItem('savedPersons'));
            let i = savedPersons.indexOf("Uzuner");
            if(i > -1) {
            savedPersons.splice(i, 1);
            AsyncStorage.setItem('savedPersons', savedPersons);
            }





            share|improve this answer















            try this



            var savedPersons = JSON.parse(await AsyncStorage.getItem('savedPersons'));
            let i = savedPersons.indexOf("Uzuner");
            if(i > -1) {
            savedPersons.splice(i, 1);
            AsyncStorage.setItem('savedPersons', savedPersons);
            }






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Dec 31 '18 at 13:36

























            answered Dec 31 '18 at 11:43









            SiSaSiSa

            8921720




            8921720













            • I don't want to remove savedPersons all values. I want to delete a specific value. this codes is delete all records in savedPersons.

              – Hasan Rıza Uzuner
              Dec 31 '18 at 12:10











            • @HasanRızaUzuner sorry. I didn't understand correctly. I changed my code

              – SiSa
              Dec 31 '18 at 12:22













            • AsyncStorage.getItem is async, the rest of the code needs to go into its callback.

              – Chris G
              Dec 31 '18 at 12:58



















            • I don't want to remove savedPersons all values. I want to delete a specific value. this codes is delete all records in savedPersons.

              – Hasan Rıza Uzuner
              Dec 31 '18 at 12:10











            • @HasanRızaUzuner sorry. I didn't understand correctly. I changed my code

              – SiSa
              Dec 31 '18 at 12:22













            • AsyncStorage.getItem is async, the rest of the code needs to go into its callback.

              – Chris G
              Dec 31 '18 at 12:58

















            I don't want to remove savedPersons all values. I want to delete a specific value. this codes is delete all records in savedPersons.

            – Hasan Rıza Uzuner
            Dec 31 '18 at 12:10





            I don't want to remove savedPersons all values. I want to delete a specific value. this codes is delete all records in savedPersons.

            – Hasan Rıza Uzuner
            Dec 31 '18 at 12:10













            @HasanRızaUzuner sorry. I didn't understand correctly. I changed my code

            – SiSa
            Dec 31 '18 at 12:22







            @HasanRızaUzuner sorry. I didn't understand correctly. I changed my code

            – SiSa
            Dec 31 '18 at 12:22















            AsyncStorage.getItem is async, the rest of the code needs to go into its callback.

            – Chris G
            Dec 31 '18 at 12:58





            AsyncStorage.getItem is async, the rest of the code needs to go into its callback.

            – Chris G
            Dec 31 '18 at 12:58


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53986785%2fdelete-value-in-asyncstorage-react-native%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Monofisismo

            Angular Downloading a file using contenturl with Basic Authentication

            Olmecas