簡體   English   中英

如何在我的減速機 function 中控制台記錄 state.car.price

[英]How do I console.log state.car.price in my reducer function

我似乎無法訪問嵌套在 object 中的屬性。 我想讓我的應用程序啟動並運行,但我無法通過這個錯誤。


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)
}; 

你怎么稱呼 featuresReducer? 如果你只傳遞一個參數,它會在state變量中的initialState ,如果你傳遞兩個變量,它會覆蓋初始狀態默認值。

您在執行 console.log 之前返回 switch 語句。 另外我認為你有一個“:”,你的意思是使用一個“,”。試試這樣的東西:

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,您必須在執行減速器操作后調用 console.log。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM