मैं एक साधारण मूवी वॉचलिस्ट एप्लिकेशन बना रहा हूं। मैं चयनित फिल्मों को सहेजने के लिए asyncstorage का उपयोग करता हूं। मैं उस फिल्म को हटाना चाहता हूं जिसे उपयोगकर्ता ने वॉचलिस्ट सेक्शन में चुना है। अभी मैं इस कोड को आजमा रहा हूं:

    removeItemValue= async (item, index) => {
    let value1 = await AsyncStorage.getItem('movies');
    value1 =JSON.parse(value1);
    console.log("value1"+value)
    //value = item.splice(index,1)
    if (value1 !== null){
        //var index = value.indexOf(x => x.Title === item.Title);
        if (index > -1){
        value1.splice(index, 1);
        await AsyncStorage.removeItem('movies');
        
        AsyncStorage.setItem('movies',JSON.stringify(value)); 
        
    }
    }       
    
}

लेकिन यह काम नहीं कर रहा है। क्या आप मुझे बता सकते हैं कि गलत कहाँ है?

इसके अलावा मेरा क्लिक हिस्सा: यहां छवि विवरण दर्ज करें

1
helen2 4 जिंदा 2021, 16:51

2 जवाब

सबसे बढ़िया उत्तर
removeItemValue = async(index) => { // don't need item here
  // avoid mutations, create new variables
  const rawValue = await AsyncStorage.getItem('movies');
  try {
    const jsonValue = JSON.parse(rawValue) || []; // avoid undefined or null
    const finalValue = [...jsonValue.slice(0, index), ...jsonValue.slice(index + 1)];
    await AsyncStorage.setItem('movies', JSON.stringify(finalValue)); // add await here
  } catch (e) {
    console.log('Parsing failed', e)
  }
}

और () => this.removeItemValue(index) का उपयोग करके निकालें

2
Medet Tleukabiluly 4 जिंदा 2021, 17:33

कृपया इसे आजमाएं

var moviesArray = [{title:'A1'},{title:'A2'},{title:'A3'},{title:'A4'},{title:'A5'},{title:'A6'},{title:'A7'},]

removeSelectedMovie=(name)=>{
return moviesArray.filter(item=>item.title.toLowerCase() !== name.toLowerCase())
}

//removeSelectedMovie(MovieName here and its will return a //new array excluded selected movie name)
console.log(removeSelectedMovie('a1'))
console.log(removeSelectedMovie('a3'))
console.log(removeSelectedMovie('a4'))
console.log(removeSelectedMovie('a7'))
0
Waleed Nasir 4 जिंदा 2021, 17:27