Refresh will empty the server-side cache, but will not reload your component client side. Take a look at DataRevalidator from Tim Neutkens "Deep Dive" post, it shows another similar way to get fresh data client-side after a server revalidation, when the page is focused (in this article, I use polling instead so it gets data every X seconds): https://github.com/vercel/next.js/discussions/54075
