Search code examples
javascriptnode.jsreactjscreate-react-appserver-side-rendering

Element type is invalid: expected a string (for built-in components) or a class/function. SSR with nodejs, react, react-router-dom


Sandbox: https://codesandbox.io/s/focused-dream-ko68k?file=/server/server.js

Error
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports. at ReactDOMServerRenderer.render (C:\Users\Gp\Desktop\testingg\server\node_modules\react-dom\cjs\react-dom-server.node.development.js:4053:17) at ReactDOMServerRenderer.read (C:\Users\Gp\Desktop\testingg\server\node_modules\react-dom\cjs\react-dom-server.node.development.js:3690:29) at Object.renderToString (C:\Users\Gp\Desktop\testingg\server\node_modules\react-dom\cjs\react-dom-server.node.development.js:4298:27) at C:\Users\Gp\Desktop\testingg\server/server.js:16:30 at Layer.handle [as handle_request] (C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\layer.js:95:5) at trim_prefix (C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\index.js:323:13) at C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\index.js:284:7 at Function.process_params (C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\index.js:341:12) at next (C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\index.js:275:10) at expressInit (C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\middleware\init.js:40:5)

Code React/index.js react/src/index.js

React/App.js react/src/App.js

Server/index.js -- node_module to node_modules. but it still doesn't work. server/index.js

Server/server.js Server/server.js

File Structure file structure

Please help I'm stuck for 2 days now and have no idea on what's wrong. I'm trying to server side render my react application but it doesn't wanna work.


Solution

  • If you are stuck on the same problem, here's what I did.

    I pulled https://github.com/uidotdev/react-router-v5-server-rendering this repo and wrote my code here.
    But I moved to NextJS after like 1 or 2 weeks which helped me alot.

    Hope this helps :)