diff --git a/packages/aws-appsync/src/helpers/offline.ts b/packages/aws-appsync/src/helpers/offline.ts index 9a715af1..60d1be98 100644 --- a/packages/aws-appsync/src/helpers/offline.ts +++ b/packages/aws-appsync/src/helpers/offline.ts @@ -152,9 +152,11 @@ export const getUpdater = (opType: CacheOperationTypes, idField = 'id'): (arr switch (opType) { case CacheOperationTypes.ADD: - case CacheOperationTypes.UPDATE: updater = (arr, newItem) => !newItem ? [...arr] : [...arr.filter(item => item[idField] !== newItem[idField]), newItem]; break; + case CacheOperationTypes.UPDATE: + updater = (arr, newItem) => !newItem ? [...arr] : arr.map(item => item[idField] === newItem[idField] ? newItem : item); + break; case CacheOperationTypes.REMOVE: updater = (arr, newItem) => !newItem ? [] : arr.filter(item => item[idField] !== newItem[idField]); break;