簡體   English   中英

元素類型無效:應為字符串(用於內置組件)或類/函數。 使用 nodejs、react、react-router-dom 的 SSR

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

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

錯誤
錯誤:元素類型無效:應為字符串(對於內置組件)或類/函數(對於復合組件),但得到:未定義。 您可能忘記從定義組件的文件中導出組件,或者您可能混淆了默認導入和命名導入。 在 ReactDOMServerRenderer.render (C:\Users\Gp\Desktop\testingg\server\node_modules\react-dom\cjs\react-dom-server.node.development.js:4053:17) 在 ReactDOMServerRenderer.read (C:\ Users\Gp\Desktop\testingg\server\node_modules\react-dom\cjs\react-dom-server.node.development.js:3690:29) 在 Object.renderToString (C:\Users\Gp\Desktop\testingg\ server\node_modules\react-dom\cjs\react-dom-server.node.development.js:4298:27) 在 C:\Users\Gp\Desktop\testingg\server/server.js:16:30 在層。處理 [as handle_request] (C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\layer.js:95:5) 在 trim_prefix (C:\Users\Gp\Desktop\testingg\server \node_modules\express\lib\router\index.js:323:13) 在 C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\index.js:284:7 在 Function.process_params (C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\router\index.js:341:12) 在下一個 (C:\Users\Gp\Desktop\testingg\server\node_modules\express\ lib\router\index.js:275:10) 在 expressIn 它(C:\Users\Gp\Desktop\testingg\server\node_modules\express\lib\middleware\init.js:40:5)

代碼React/index.js react/src/index.js

反應/App.js反應/src/App.js

Server/index.js -- node_module 到 node_modules。 但它仍然不起作用。 服務器/index.js

服務器/server.js服務器/server.js

文件結構文件結構

請幫助我現在被困了 2 天,不知道出了什么問題。 我正在嘗試在服務器端渲染我的反應應用程序,但它不想工作。

可能不相關,但我注意到 server/index.js 中有一個node_module而不是node_modules

如果您遇到同樣的問題,這就是我所做的。

我拉了https://github.com/uidotdev/react-router-v5-server-rendering這個 repo 並在這里寫了我的代碼。
但是大約 1 或 2 周后我搬到了NextJS ,這對我幫助很大。

希望這可以幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM