Following documentation gives error: "You cannot dot into a client module from a server component."
Running: Node
21.6.2
, tRPC 11.0.0-rc.553
(client, server, next, react-query), next 14.2.14
, and react-query 5.59.0
So, I'm trying to follow the React-Query Server Components setup guide in the tRPC docs, and I've mostly just copy pasted the code out, yet my client component isn't working.
This works:
But when I change it to a client component, like the code in the documentation on tRPC's website:
It spits out this error:
When using next dev --turbo
rather than next dev
, the error message is different, though pointing to the same line:
Correct me if I'm wrong, but... that's no longer a server component, right?2 Replies
The
@/trpc/client.tsx
file is also basically lifted wholesale from the documentation, except for renaming the export (and one import) and enabling superjson:
Every other file involved has also not been changed much from the documentation, if at all.
I did notice while I was going through the guide that it instructs you to create this trpc/init.ts
file to intialize the tRPC backend:
But when it's instructing you to create the trpc/server.tsx
file with this code:
It imports createCallerFactory
from that previous init file, despite never telling you to make that an export. So I took a guess and added this to the end: export const createCallerFactory = t.createCallerFactory
But I'm wondering, if the documentation had that error, does it have others? Or am I an idiot and this is this just user error, with something I'm overlooking? I'm happy to share any other files needed.Solution
ahh, finally found it. typo;
'use-client'
rather than 'use client'
.