-
-
Notifications
You must be signed in to change notification settings - Fork 92
Description
Prerequisites
- I have written a descriptive issue title
- I have searched existing issues to ensure the bug has not already been reported
Fastify version
5.5.0
Plugin version
8.2.0
Node.js version
24.6.0
Operating system
Linux
Operating system version (i.e. 20.04, 11.3, 10)
Fedora Linux 42 (Cinnamon) x86_64
Description
I used the react-base starter from: giget gh:fastify/fastify-vite/starters/react-base#dev your-app
The issue seems to only occur when the client/pages/index.jsx component has getData or getMeta functions in it.
Maybe React Dev Tools breaks because these functions are server-side, so this isn't a fastify/vite issue then?
When inspecting the AppRoute component in React Developer Tools
6.1.5, the console shows a ReactDebugToolsRenderError: Error rendering
inspected component with an underlying Promise {} error. This error seems to be related to a useEffect hook and
possibly the use of valtio for state management within the component. The error does not occur if the useEffect hook at line
76 of @fastify/react/virtual/core.jsx is commented out.
Console Error:
1 backendManager.js:1 Error rendering inspected element.
2
3 ReactDebugToolsRenderError: Error rendering inspected component
4 at handleRenderFunctionError (react-debug-tools.production.js:759:24)
5 at inspectHooks (react-debug-tools.production.js:775:5)
6 at t.inspectHooksOfFiber (react-debug-tools.production.js:867:12)
7 at renderer.js:4269:17
8 at inspectElementRaw (renderer.js:4110:14)
9 at Object.inspectElement (renderer.js:4731:38)
10 at agent.js:495:18
11 at Bridge.emit (events.js:37:18)
12 at bridge.js:298:23
13 at listener (backendManager.js:1:12649)
1 backendManager.js:1 React DevTools encountered an error while trying to inspect hooks. This is most likely caused by
an error in current inspected component: "AppRoute".
2 The error thrown in the component is:
3
4 Promise {}
Steps to Reproduce
- Run the development server (npm run dev).
- Open the application in Google Chrome (http://localhost:3000).
- Open React DevTools.
- Inspect the AppRoute component.
- Observe the error in the browser's developer console.
I used gemini-2.5-pro to try find the problem. Below is what it tried, with no success:
Troubleshooting Steps Taken
- Exhaustive Dependencies: Added ctx and ctxHydration to the useEffect dependency array. This did not resolve the issue.
setTimeout: Wrapped the body of the useEffect in a setTimeout(..., 0) to defer execution. This did not resolve the issue.- Memoize
valtioProxy: Used useState to memoize the valtio proxy object created for the RouteContext.Provider. This did not
resolve the issue.
Ignore the override in package.json. There was a deprecation warning that I wanted to rule out from my testing of the issue.
Link to code that reproduces the bug
https://github.com/nofxboy1234/your-app
Expected Behavior
The AppRoute component should be inspectable in React DevTools without throwing an error.