Using almost fresh new project, this code shows type error when defining a Route:
export const Route = createFileRoute("/")({
component: () => <span>noop</span>,
loader: (ctx) => 1,
beforeLoad: (ctx) => 2,
});
The error:
Type '(ctx: BeforeLoadContextOptions<Register, RootRoute<Register, undefined, {}, AnyContext, AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, ... 6 more ..., undefined>) => number' is not assignable to type '(ctx: BeforeLoadContextOptions<Register, RootRoute<Register, undefined, {}, AnyContext, AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, ... 6 more ..., undefined>) => never'.
Type 'number' is not assignable to type 'never'.ts(2322)
FIle at ./src/routes/index.tsx but similar error for other routes
The strange thing is that if I throw error in beforeLoad or delete ctx argument in loader or beforeLoad there is no type errors...
So this works fine(omit ctx in beforeLoad):
export const Route = createFileRoute("/")({
component: () => <span>noop</span>,
loader: (ctx) => 1,
beforeLoad: () => 2,
});
And this works fine(omit ctx in loader):
export const Route = createFileRoute("/")({
component: () => <span>noop</span>,
loader: () => 1,
beforeLoad: (ctx) => 2,
});
And this works fine(throw error):
export const Route = createFileRoute("/")({
component: () => <span>noop</span>,
loader: (ctx) => 1,
beforeLoad: (ctx) => { throw 1 },
});
I cant understand why? And what am i doing wrong...
I am ready to provide StackBlitz reproduction if needed, just hoping maybe anyone already knows the answer...