Files
calendar/packages/lib/hooks/useRefreshData.ts

18 lines
447 B
TypeScript

import { useRouter } from "next/navigation";
import { useAsPath } from "./useAsPath";
/** @see https://www.joshwcomeau.com/nextjs/refreshing-server-side-props/ */
export function useRefreshData() {
const router = useRouter();
const asPath = useAsPath();
const refreshData = () => {
if ("refresh" in router) {
// Refresh the server components
router.refresh();
}
router.replace(asPath);
};
return refreshData;
}