Я использую Redux для управления состоянием корзины, но при перезапуске приложения состояние корзины становится пустым. Чтобы решить эту проблему, я подумал об использовании AsyncStorage для хранения данных и получения их в componentDidMount, но он показывает null вместо данных корзины.
КОД ДЕЙСТВИЯ REDUX
case 'ADD_TO_CART':
{
const updatedCart = [...state.cart];
const item = updatedCart.find(x=>x.key===action.payload.key);
if(item)
{
item.count++;
}
else{
updatedCart.push(action.payload);
}
AsyncStorage.setItem('cart',{...state,cart: updatedCart,total: state.total + 1})
return {
...state,
cart: updatedCart,
total: state.total + 1,
}
}
ЗАГРУЗКА ДАННЫХ
async componentDidMount() {
const item = await AsyncStorage.getItem('cart'))
console.log(item)
}
У меня есть еще одно действие для удаления элемента корзины, в котором тот же метод setItem используется для установки состояния корзины.