Late to the party, and maybe not with the best solution after all.
But here is what i’ve done to make the filters work (somehow at least):
I built my query just once, on the page component as always, using
const {data, loading, error} = useQuery(MY_GQL_QUERY, options)
and mapped the query data to resourcelist.items prop.
then I went with client side array filtering, because the page loading already triggered the whole query and with the filters i just needed a subset of the already queried items.
const _items = data?.items
const filteredItems = !isEmpty(queryValue) ? _items.filter(i => (i.title.includes(queryValue))) : _items
Here I am using queryValue state, like the shopify examples demonstrate.
Hope this helps anyhow