javascript - Invariant Violation:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:未定义
问题描述
我正在服务器端渲染应用程序上使用 React 和 Webpack。当打开我的本地主机页面时,页面会呈现此错误:
[[AWarning: React.createElement: type is invalid - 需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。
但是我的输入很好,不知道为什么服务器会返回这个错误。
这是我的 App.js :
const AppRoute = () => {
if(process.env.BROWSER){
return <Provider store={store}>
<BrowserRouter history={ history }>
<Switch>
<Route path="/" component={App} exact />
<Route path="/post_entry" component={postEntry} exact />
</Switch>
</BrowserRouter>
</Provider>
}
else {
return
<Provider store={store}>
<ServerRouter history={ history }>
<Switch>
<Route path="/" component={App} exact />
<Route path="/post_entry" component={postEntry} exact />
</Switch>
</ServerRouter>
</Provider>
}
}
export default AppRoute // great default export
我的 server.js :
import AppRoute from "../app/Router"; // great default import
<body>
<div id="root">${renderToString(<AppRoute/>)}</div>
</body>
我的 browser.js :
import {render} from "react-dom" ;
import AppRoute from "../app/Router"; // great default import
render( <AppRoute/> {...} )
我不知道出了什么问题,如果有人得到任何提示会很好,谢谢
解决方案
推荐阅读
- c - 条件跳转或移动取决于使用 fread() 后未初始化的值
- sql - SQL Server 计算一个月的工作日期数
- r - 如何将数据转换为长/水平格式?
- python - 如何获得 Kivy id
- function - 面板数据平均曝光
- haskell - 如何为数据类型类编写函数
- android - Android导航组件、backstack、nav graph、skip Fragments
- android - FirebaseMessaging.onMessageOpenedApp 通过 Airship/FCM 未在我们的 Flutter 应用程序中触发
- mysql - 如何让 mysqlclient 与 pipenv 一起工作?
- c - 如何管理递归函数的内存和stackoverflow?