Hooks
View as MarkdownHooks available from neutron.
useLoaderData
Returns the data returned from the route's loader.
const data = useLoaderData<typeof loader>();
useActionData
Returns the data returned from the route's action. Undefined if the action hasn't run yet.
const data = useActionData<typeof action>();
useNavigation
Returns the current navigation state.
const navigation = useNavigation();
// navigation.state: "idle" | "loading" | "submitting"
// navigation.formData: FormData (during submission)
useParams
Returns an object of dynamic route parameters.
const params = useParams();
// params.id
useRevalidator
Allows manual revalidation of loaders.
const { revalidate, state } = useRevalidator();
Handling errors
There is no useRouteError hook. Errors are handled by exporting an ErrorBoundary component, which receives the error as a prop:
import type { ErrorBoundaryProps } from "@neutron-build/core";
export function ErrorBoundary({ error, reset }: ErrorBoundaryProps) {
return <p>{error.message}</p>;
}
See Error Boundaries for details.
Additional client hooks exported from
@neutron-build/core/client—useNavigate,useSubmit,useSearchParams,useBlocker,useMatches— follow the same signatures as their React Router equivalents.