После использования async и await моя корзина пуста, поскольку я получаю длину массива в соответствии с тем, что он отображается пустым.это функция рендеринга: -
<View>
{this.state.cartItems.length<=0 ?
<View style={{justifyContent:'center',alignItems:'center'}}>
<Text> cart is empty</Text>
</View>
:
<View>
<FlatList
extraData={this.state}
data={this.state.cartItems}
renderItem={this._renderItem}
keyExtractor={(item,index)=> item}
/>
</View>
После использования async и await: -
componentWillMount= async ()=>{
const value= await AsyncStorage.getItem("Cart",(err,res)=>{
console.log("res value is------" +JSON.stringify(res))
if(value==null)
{
alert("your cart is empty")
}
else{
this.setState({cartItems:JSON.parse(res)},
console.log(JSON.stringify(this.state.cartItems))),
alert(JSON.stringify("get Cart items"+JSON.stringify(this.state.cartItems)));
}
});
}
здесь я хочу список данных, добавляемых пользователем:-
_renderItem=({item})=>{
console.log("we are in _renderItem function" )
console.log(item.id)
return(
<View style={{flex:1, flexDirection:'row'}}>
<Image style={{height:90,width:90}} source= {{uri: item.image}} />
<View style={{flexDirection:'column'}}>
<Text> {item.id} </Text>
<Text> {item.title} </Text>
<Text> {item.categoryTitle} </Text>
</View>
</View>
)
}