TypeError:state.products.find不是函数,或者其返回值不可迭代


import { ActionType } from "../costants/action-type";
const initialState = {
products : [],
}

export const productReducer = (state = initialState, {type,payload}) => {
console.log("DEC",payload)
console.log("state",state.products)
switch (type) {
case ActionType.SET_PRODUCTS:
return {state , 
products: [...state.products.find(product => product.API === payload.API)],
};
default:
return state;
}
}

我的错误的屏幕截图

应该使用map(返回列表(而不是find(返回单个对象(。

您应该指定类似{...state }的状态,以保持所有当前状态值。

import { ActionType } from "../costants/action-type";
const initialState = {
products : [],
}

export const productReducer = (state = initialState, {type,payload}) => {
console.log("DEC",payload)
console.log("state",state.products)
switch (type) {
case ActionType.SET_PRODUCTS:
return {
...state, 
products: [...state.products.map(product => product.API === payload.API)],
};
default:
return state;
}
}

相关内容

最新更新