Tengo dos casos en mi reductor:
case GET_CODE: return { ...state, list:[...state.list,{code: action.payload.product.Code}] } case WEIGHT: return { ...state, list:[...state.list,{weight:action.payload}] }Mi estado se ve así:
list: [ { weight: ''}, {weight: '100'}, {weight: '200'}, {code: '63'}, {code: '64'} ]Lo que me gustaría tener es algo como:
list: [ {weight: ''}, {weight: '100', code:'63'}, {weight: '200', code:'64'} ] Mi estado inicial es list:[] . El primer valor vacío de peso es del renderizado inicial, creo. Despacho primero PESO y luego acción GET_CODE.
Debe escribir algún tipo de función de ayuda que cree el objeto para usted, o el caso de código/peso debe encontrar el objeto en la list al que debería corresponder.
Para la función auxiliar:
const createObject = (code, weight) => { const obj = {code: code.product.Code, weight: weight} dispatch({type: 'ADD_TO_LIST', payload: obj}); } // In your reducer case ADD_TO_LIST: return { ...state, list: [ ...state.list, action.payload ] }O simplemente use el caso ADD_TO_LIST y cree el objeto en el reductor
es decir
case ADD_TO_LIST: return { ...state, list: [ ...state.list, {code: action.payload.code.product.Code, weight: action.payload.weight} ] }