Using useNavigate within client-only action/query

The docs says:
If you are inside of a cache or action function you will instead [of useNavigate] want to use redirect or reload.
Does that include query/actions that only run on the client (don't use "use server")?
4 Replies
Brendonovich
Brendonovich4w ago
Yes, cache and action detect the Response object and act on it on both client and server
Amir Hossein Hashemi
So I cannot use useNavigate with query or action at all? If yes, why?
Brendonovich
Brendonovich4w ago
Correct, since useNavigate needs to be called inside components but queries/actions are usually defined outside. Technically if you had a client-only query/action you could pass in the navigate function from useNavigate as an argument but I don’t think there’s much point doing that Also worth noting - a query not having ‘use server’ doesn’t necessarily mean it won’t be run on the server, since it could still get called on the server during ssr
Amir Hossein Hashemi
Thanks

Did you find this page helpful?