Наконец-то нашла работающий вариант. В функции SWR:
const fetcher = (url) => fetch( url, { credentials: "include" } ).then( res => res.json() );
export const useUser = () => {
const { data, error, isLoading, mutate } = useSWR( `${ baseApi }getuser`, fetcher );
return {
user: data,
isLoading,
error,
mutate
};
};
В функции Logout:
const logout = async() => {
let response = NextResponse.next();
const { mutate } = useUser();
axios.post( `${ baseApi }logout` )
.then( res => {
response.cookies.delete( "XSRF-TOKEN" );
} );
mutate( null, { revalidate: false } );
router.push( "/" );
};
То есть, mutate нужно брать из функции useUser() и прописывать именно так mutate( null, { revalidate: false } );
Это у меня сработало