T
TanStack10mo ago
yelping-magenta

Error with search param and router not matching

const overviewSearchParam = z.object({
startDate: fallback(
z.coerce.date(),
new Date(Date.now() - 30 * 24 * 60 * 60 * 1000),
),
endDate: fallback(z.coerce.date(), new Date()).default(new Date()),
});

export const Route = createFileRoute(
"/_dashboard-layout-id/dashboard/overview",
)({
validateSearch: zodValidator(overviewSearchParam),
loaderDeps: ({search: {startDate, endDate}}) => ({startDate, endDate}),
loader: async ({context: {queryClient}, deps: {startDate, endDate}}) => {
queryClient.ensureQueryData(getArtistDashboardStatsQueryOptions({startDate, endDate}));
},
component: RouteComponent,
});
const overviewSearchParam = z.object({
startDate: fallback(
z.coerce.date(),
new Date(Date.now() - 30 * 24 * 60 * 60 * 1000),
),
endDate: fallback(z.coerce.date(), new Date()).default(new Date()),
});

export const Route = createFileRoute(
"/_dashboard-layout-id/dashboard/overview",
)({
validateSearch: zodValidator(overviewSearchParam),
loaderDeps: ({search: {startDate, endDate}}) => ({startDate, endDate}),
loader: async ({context: {queryClient}, deps: {startDate, endDate}}) => {
queryClient.ensureQueryData(getArtistDashboardStatsQueryOptions({startDate, endDate}));
},
component: RouteComponent,
});
No description
1 Reply
correct-apricot
correct-apricot10mo ago
please provide a complete minimal example btw you should not return a Date from validateSearch. just return JSON compatible data

Did you find this page helpful?