Hooks 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/clientuseNavigate, useSubmit, useSearchParams, useBlocker, useMatches — follow the same signatures as their React Router equivalents.