-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] - Next.js Full Stack Web App Throws Exception to UI on Startup #207
Comments
Sayvai
added a commit
to Sayvai/Resume-Matcher
that referenced
this issue
Oct 24, 2023
Occasionally (not all the time), whenever I start up the local frontend full stack Next.js webapp, and then attempt to load the frontend UI after the Next.js servers are up and ready, the browser displays an exception thrown by Next.js. The exception which is occasionally thrown, throws with the error message `Attempted to call getErrorMessage() from the server, but getErrorMessage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a client component.`. 💡 It seems that the `error.ts` file from which the `getErrorMessage()` function is defined conflicts with the reserved Next.js app router keyword for `error.tsx` components, and so Next.js (mistakenly) assumes `error.ts` is client component file, and hence why `use client` was placed at the top of the `error.ts` file in the first place to overcome the initial error. However, in hindsight this is not the correct solution as the function should be called on the server-side, and so the solution is to instead rename `error.ts` to `errors.ts`, which also makes more logical sense, and can be extended with additional error handling functions in future. This change resolves issue srbhr#207.
12 tasks
srbhr
pushed a commit
that referenced
this issue
Oct 25, 2023
Occasionally (not all the time), whenever I start up the local frontend full stack Next.js webapp, and then attempt to load the frontend UI after the Next.js servers are up and ready, the browser displays an exception thrown by Next.js. The exception which is occasionally thrown, throws with the error message `Attempted to call getErrorMessage() from the server, but getErrorMessage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a client component.`. 💡 It seems that the `error.ts` file from which the `getErrorMessage()` function is defined conflicts with the reserved Next.js app router keyword for `error.tsx` components, and so Next.js (mistakenly) assumes `error.ts` is client component file, and hence why `use client` was placed at the top of the `error.ts` file in the first place to overcome the initial error. However, in hindsight this is not the correct solution as the function should be called on the server-side, and so the solution is to instead rename `error.ts` to `errors.ts`, which also makes more logical sense, and can be extended with additional error handling functions in future. This change resolves issue #207.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
Occasionally (not all the time), whenever I start up the local frontend full stack Next.js webapp, and then attempt to load the frontend UI after the Next.js servers are up and ready, the browser displays an exception thrown by Next.js.
The exception which is occasionally thrown, throws with the error message
Attempted to call getErrorMessage() from the server, but getErrorMessage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a client component.
. See screenshot of exception thrown on browser UI, below.To Reproduce
Steps to reproduce the behavior:
cd
into the sub-directorywebapp/
npm run dev
to run both the frontend and backend servers concurrently under one terminal session locally.Expected behavior
The frontend UI should load correctly, initially prompting the user to upload a Resume / CV.
Screenshots
Exception message rendered on the frontend UI of the full stack Next.js web app.
Desktop (please complete the following information):
Mac OS Ventura 13.4
Chrome
118.0.5993.96
Additional context
💡 It seems that the
error.ts
file from which thegetErrorMessage()
function is defined conflicts with the reserved Next.js app router keyword forerror.tsx
components, and so Next.js (mistakenly) assumeserror.ts
is client component file, and hence whyuse client
was placed at the top of theerror.ts
file in the first place to overcome the initial error. However, in hindsight this is not the correct solution as the function should be called on the server-side, and so the solution should be to instead renameerror.ts
toerrors.ts
, which also makes more logical sense, and can be extended with additional error handling functions in future.The text was updated successfully, but these errors were encountered: