我似乎不能访问嵌套在对象中的属性。我想让我的应用程序启动并运行,但我不能通过这个错误。
const initialState = {
additionalPrice: 0,
title:"hi",
car: {
price: 26395,
name: '2019 Ford Mustang',
image:
'https://cdn.motor1.com/images/mgl/0AN2V/s1/2019-ford-mustang-bullitt.jpg',
features: []
},
additionalFeatures: [
{ id: 1, name: 'V-6 engine', price: 1500 },
{ id: 2, name: 'Racing detail package', price: 1500 },
{ id: 3, name: 'Premium sound system', price: 500 },
{ id: 4, name: 'Rear spoiler', price: 250 }
]
};
export const featuresReducer = (state = initialState, action) => {
console.log(action, state);
switch (action.type) {
case ADD_FEATURE:
return {
...state,
...state.car:{...state.car:price:5}
}
default:
return state;
}
console.log(state.car.price)
}; 发布于 2019-10-10 08:42:47
你怎么给featuresReducer打电话?如果只传递一个参数,它将进入state变量,如果传递两个变量,它将覆盖initialState默认值。
发布于 2019-10-10 09:24:49
在执行console.log之前,您将在switch语句中返回。我还认为你有一个":“,你的意思是用一个”,".Try这样的东西:
export const featuresReducer = (state = initialState, action) => {
console.log(action, state);
switch (action.type) {
case ADD_FEATURE:
console.log("here");
return {
...state,
car: { ...state.car, price: 5 }
}
default:
return state;
}
}; 如果想要查看state.car.price,则必须在执行reducer操作后调用console.log。
https://stackoverflow.com/questions/58313921
复制相似问题