entonces estoy tratando de actualizar un estado para cada caso individual
{buyer.map((x) => { return <IdentificationCard id={x.id} />; })} (inside identificationCard component) const [uploadFile, { data, error }] = useMutation(UPLOAD_ALL_DOCUMENTS, { onCompleted({ uploadFile }) { const cardFrontDownloadLink = uploadFile.contract.buyer.documents.id_anverse_download_link; const cardBackDownloadLink = uploadFile.contract.buyer.documentss.id_reverse_download_link; setFormValues({ ...formValues, buyerData: { ...formValues.buyerData, buyer: buyer.map((x) => { return x.id == id ? { ...x, idCardFront: cardFrontDownloadLink ? cardFrontDownloadLink : '' , idCardBack: cardBackDownloadLink ? cardBackDownloadLink : '' } : x }) } }); }, onError({ imgError }) { notification.error({ message: 'Error', description: 'try loading your ID again or check your internet connection' }); }});
por ejemplo, cuando coloco una imagen en idCardFront, esta consulta devuelve un enlace y luego actualizo la clave del objeto del comprador con el enlace como su nuevo valor, sin embargo, este es mi problema, después de actualizar ese primer estado, trato de hacer lo mismo con el idCardBack en el segundo componente de la tarjeta de identificación mapeada, y actualiza el idCardBack con el nuevo valor pero también actualiza el idCardFront con el valor anterior guardado en el componente de la tarjeta de identificación anterior 
Supongo que cuando actualizo el estado, dado que la función onCompleted se vuelve a llamar después de cada carga, el mapa verifica el valor actual y actualiza el segundo objeto, pero no estoy seguro de cómo salir de la función mientras almacena cada enlace en su clave correspondiente, cualquier ayuda será muy apreciada