Según los documentos oficiales, el método de identificación de caché de Apollo se usa para obtener la identificación del elemento de caché porque esta identificación podría ser personalizada y estar compuesta por diferentes campos. Eso está claro.
Para hacerlo, necesitamos recibir un elemento del caché para pasar este elemento al cache.identify . Identificar y recibir este ID de elemento.
Para obtener un elemento de caché, tenemos las siguientes posibilidades, según los documentos:
const READ_TODO = gql` query ReadTodo($id: ID!) { todo(id: $id) { id text completed } } `; // Fetch the cached to-do item with ID 5 const { todo } = client.readQuery({ query: READ_TODO, variables: { id: 5, }, }); const todo = client.readFragment({ id: 'Todo:5', // The value of the to-do item's cache ID fragment: gql` fragment MyTodo on Todo { id text completed } `, }); Estos métodos devolverán un elemento del caché que luego podríamos pasar al cache.identify . identificar para recibir la ID.
Pero requieren el DNI por lo que se debe conocer en el momento de la ejecución de cualquiera de ellos.
Entonces, me pregunto cuál es la mejor práctica para usar cache.identify .
Hasta ahora sé que, probablemente, podría ser el único caso de uso.
Obtenga la posible identificación del elemento de caché en la devolución de llamada de actualización que podría usarse como una opción para una mutación que solo actualiza un elemento existente . El backend podría devolver una respuesta con el objeto modificado y es posible pasar este objeto a cache.identify para obtener la ID y pasarla al método de actualización de caché apropiado. Pero no estoy seguro de tener razón, así que me gustaría aclararlo con los desarrolladores de Apollo más experimentados.
¿Es este el único propósito del método cache.identify ?
¡Gracias por cualquier ayuda!