Вот статья среднего уровня с одним примером того, как использовать OptimisticResponse для удаления элемента из списка.
Было бы полезно увидеть вашу схему, но вот рабочий примериз игрушечного приложения для ведения дел Я построил с помощью OptimisticResponse, работающего для удаления элементов из списка:
optimisticResponse: {
__typename: "Mutation",
deleteResolution: {
__typename: "Resolution",
_id
}
}
Вы можете проверить, работает ли OptimisticResponse, установив для вашей скорости сети значение «Медленный 3G» вконсоль разработчика и обеспечение немедленного удаления элемента.
Примечание: вы можете использовать фильтр в функции обновления вместо логического значения для чистого создания нового массива с удаленным элементом.Вот как я могу это сделать в приложении, связанном выше, где _id - это идентификатор удаляемого элемента, который передается в качестве опоры компоненту DeleteResolution:
resolutions = resolutions.filter(
resolution => resolution._id !== _id
);