SolidJSS
SolidJSโ€ข3y agoโ€ข
9 replies
Zack Pitcher

routeData params are empty but not useParams

I am using the basic <FileRoutes /> setup and I have a file located at routes/stuff/[slug].tsx.

When I read params.slug from useParams, I can read it properly, but when I try to do useRouteData with an exported routeData function in the same file, the params field of args: RouteDataArgs is empty :/

Here's a minimum repro:
import { RouteDataArgs, useParams, useRouteData } from "solid-start";
import { createServerData$ } from "solid-start/server";

export function routeData({ params }: RouteDataArgs) {
  return createServerData$(() => {
    return params;
  });
}

export default function Stuff() {
  const params = useParams();
  const routeData = useRouteData();
  return (
    <main>
      <p>{`params: ${params.slug}`}</p>
      <p>{`routeData: ${routeData.slug}`}</p>
    </main>
  );
}


I'm sure it's something really silly, but I have tried so many different combinations of things and I can't get it to work...
Was this page helpful?