Javascript React Redux状态不替换
我试图通过一个操作获取一批新的产品,然后用新的批次替换状态,但是它只是将其添加到数组中 这是我用来控制国家的减速器:Javascript React Redux状态不替换,javascript,reactjs,redux,react-redux,redux-thunk,Javascript,Reactjs,Redux,React Redux,Redux Thunk,我试图通过一个操作获取一批新的产品,然后用新的批次替换状态,但是它只是将其添加到数组中 这是我用来控制国家的减速器: const initialState = { fetching: false, fetched: false, Brands:[], Markings:[], Products: [], error: null } export default function reducer(state=initialState, action=null) { s
const initialState = {
fetching: false,
fetched: false,
Brands:[],
Markings:[],
Products: [],
error: null
}
export default function reducer(state=initialState, action=null) {
switch (action.type){
case "FETCH_PRODUCTS_PENDING" : {
return {...state}
break;
}
case "FETCH_PRODUCTS_REJECTED" : {
return {...state}
break;
}
case "FETCH_PRODUCTS_FULFILLED" : {
return{ ...state,
Products: state.Products.concat(action.payload.data.Products),
Brands: action.payload.data.Facets[0].Facets,
Markings: action.payload.data.Facets[1].Facets
}
break;
}
}
return state
}
这件事出了差错。。我不确定这个“…状态”是如何工作的,我需要做一个对象赋值还是什么
加载后我得到52个产品,当尝试请求新批次时,它将其相加,因此我的this.props.products是104个项目。。。我想用它来代替这一行是罪魁祸首
Products: state.Products.concat(action.payload.data.Products),
在这种情况下,您只需将Products
数组替换为action中的数组
因此,它应该是简单的
Products: action.payload.data.Products
有关扩展运算符的详细说明,请参见此处:
这条线就是罪魁祸首
Products: state.Products.concat(action.payload.data.Products),
在这种情况下,您只需将Products
数组替换为action中的数组
因此,它应该是简单的
Products: action.payload.data.Products
有关扩展运算符的详细说明,请参见此处:
我现在觉得自己很笨谢谢,我现在觉得自己很笨D谢谢