'Updating Apollo Cache for external query after entity mutation

I'd like to display a list of users, based on a filtered Apollo query

 // pseudo query    
 if (user.name === 'John) return true

User names can be edited. Unfortunately, if I change a user name to James, the user is still displayed in my list (the query is set to fetch from cache first)

I tried to update this by using cache.modify:

        
cache.modify({
  id: cache.identify({
    __typename: 'User',
    id: userId,
  }),
  fields: {
    name: () => {
      return newName; //newName is the input new value
    },
  },
});

But I'm not quite sure this is the correct way to do so.

Of course, if I use refetchQueries: ['myUsers'], I get the correct result, but obviously, this is a bit overkill to refetch the whole list every time a name is updated.

Did I miss something?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source