@tanstack/react-start
Version:
Modern and scalable routing for React applications
28 lines (27 loc) • 676 B
JavaScript
import * as React from "react";
import { useRouter, isRedirect } from "@tanstack/react-router";
function useServerFn(serverFn) {
const router = useRouter();
return React.useCallback(
async (...args) => {
try {
const res = await serverFn(...args);
if (isRedirect(res)) {
throw res;
}
return res;
} catch (err) {
if (isRedirect(err)) {
err.options._fromLocation = router.state.location;
return router.navigate(router.resolveRedirect(err).options);
}
throw err;
}
},
[]
);
}
export {
useServerFn
};
//# sourceMappingURL=useServerFn.js.map