Nota: no estoy usando Redux (en cambio, React Context + reductores)
Tengo el siguiente reductor:
export default (contents, action) => { switch (action.type) { case "like-content": { let { content } = action; const prevContent = contents.get(content.id); return new Map([...contents, [content, { ...content, totalLikes: prevContent.totalLikes + 1 }]); } ...Y necesito verificar si el contenido dado está almacenado en mi mapa de contenido antes de actualizar el estado.
He pensado en actualizar mi código a:
export default (contents, action) => { switch (action.type) { case "like-content": { let { content } = action; const prevContent = contents.get(content.id); if (!prevContent) throw Error("The content doesn't exist"); return new Map([...contents, [content, { ...content, totalLikes: prevContent.totalLikes + 1 }]); } ...Pero, personalmente, parece incorrecto, ya que estoy "rompiendo" la actualización de estado.
¿Cómo puedo manejar esto?