Я получаю причудливую ошибку с функцией, которая анализирует массив объектов из локального хранилища.
TRYING: , чтобы получить объекты из локального хранилища и проанализировать их productID
иselectedQty
значения свойств в int.
Когда я регистрирую их typeof
значение, то есть
console.log("parse value", typeof item.selectedQty);
Я получаю *"parse value number"
... Отлично!
Однако япо-прежнему выдается ошибка REACT:
Ошибка типа: невозможно прочитать свойство 'productID' из неопределенного
46 | if (allItems && Array.isArray(allItems)) {
47 | for (let i = 0; i <= allItems.length; i++) {
48 | var item = allItems[i];
> 49 | item.productID = parseInt(item.productID);
50 | ^ item.selectedQty = parseInt(item.selectedQty);
51 |
52 | console.log("parse value", typeof item.productID);
Отслеживание стека до
Cart.componentDidMount
src/components/cart.jsx:14
11 | };
12 | componentDidMount() {
13 | // 1. Add Items In Cart
> 14 | var updateCartItems = this.addItemToCart();
| ^ 15 |
16 | // 2. Caclulate total cart value
17 | var newCartValue = this.getCartValue(updateCartItems);
код
addItemToCart() {
var allItems = JSON.parse(localStorage.getItem("itemsArray"));
// console.log("--->", Array.isArray(allItems), allItems);
// allItems.map(item => JSON.parse(item));
var updateCartItems = this.state.cartItems;
if (allItems && Array.isArray(allItems)) {
for (let i = 0; i <= allItems.length; i++) {
var item = allItems[i];
item.productID = parseInt(item.productID);
item.selectedQty = parseInt(item.selectedQty);
console.log("parse value", typeof item.productID);
console.log("parse value", typeof item.selectedQty);
updateCartItems.push(item);
}
}
return updateCartItems;
}
componentDidMount() {
// 1. Add Items In Cart
var updateCartItems = this.addItemToCart();
// 2. Caclulate total cart value
var newCartValue = this.getCartValue(updateCartItems);
this.setState({ cartValue: newCartValue, cartItems: updateCartItems });
}