TanStackT
TanStack7mo ago
3 replies
worthy-azure

set route state from loader funtion

Hey is it possible to set router state from loader function in createFileRoute?

something like that:

import { projectEstimateQueryOptions } from '@services/estimates/estimates.query';
import { createFileRoute } from '@tanstack/react-router';
import { handleNotFoundError } from '@utils/handleNotFoundError';
import { ProjectEstimate } from '@views/Authorized/ProjectEstimate/ProjectEstimate';

export const Route = createFileRoute(
  '/_authorized/workspace/_layout/projects/$spreadsheetId/$projectName/$spreadsheetName/',
)({
  loader: async ({
    context: { queryClient },
    params: { spreadsheetId },
    location,
  }) => {
    try {
      const data = await queryClient.ensureQueryData(
        projectEstimateQueryOptions(+spreadsheetId, false),
      );

      location.state.estimate = {
        isTemplate: data?.data.is_template,
        isLibrary: data?.data.is_library,
      };
    } catch (error: unknown) {
      handleNotFoundError(error);
    }
  },
  component: ProjectEstimate,
});
Was this page helpful?