Javascript 向空对象添加新的键值对抛出TypeError为null错误
这是我的mobx商店,我正试图在react应用程序中使用它:Javascript 向空对象添加新的键值对抛出TypeError为null错误,javascript,reactjs,mobx,Javascript,Reactjs,Mobx,这是我的mobx商店,我正试图在react应用程序中使用它: import {observable, computed, action, decorate} from 'mobx'; class Cart { cart = 0; product = {}; loaded = false; addCart(product, amount) { if(this.product === null) { this.produc
import {observable, computed, action, decorate} from 'mobx';
class Cart {
cart = 0;
product = {};
loaded = false;
addCart(product, amount) {
if(this.product === null) {
this.product[product] = Number(amount);
} else {
if (product in this.product) {
this.product[product] = this.product[product] + Number(amount);
} else {
this.product[product] = Number(amount);
}
}
localStorage.setItem('product', JSON.stringify(this.product));
this.cart = this.cart + Number(amount);
}
}
export default Cart = decorate(Cart, {
cart: observable,
product: observable,
addCart: action
})
当我试图从组件添加一些数据时,比如addCart(4,1)
它抛出TypeError:this.product为null
,错误显示在这个块中
if(this.product === null) {
this.product[product] = Number(amount);
}
如果this.product为null,则必须先将其设置为空数组,然后才能分配数组元素:
addCart(product, amount) {
if(this.product === null) {
this.product = []; // <-- INSERT THIS LINE HERE
this.product[product] = Number(amount);
addCart(产品、金额){
if(this.product==null){
this.product=[];//this.product=[]尝试将此添加到此之前。product[product]=编号(金额);