我正在一个使用以下项目的项目中工作:
- 反应/react-dom@16.9.0
- @loadable/组件
- 样式化组件
- 反应路由器dom
该应用程序呈现服务器端和客户端。
我正在使用@loadable/component
这种方式动态代码拆分。
路由器.tsx
import * as React from 'react'
import loadable from '@loadable/component'
import { Route, Switch } from 'react-router-dom'
const NotFound = loadable(() =>
import('../components/NotFound/NotFound' /* webpackChunkName: "notfound" */)
)
const routes = (
<Switch>
<Route component={NotFound} />
</Switch>
)
export default routes
加载页面时,控制台上出现此错误,页面似乎闪烁了一秒钟。
react-dom.development.js:546 Warning: Did not expect server HTML to contain a <div> in <main>.
当我检查双方(服务器/客户端)的输出时,它们是相同的。
当我像下面这样删除时@loadable/component
,它可以工作并且错误消失了。
路由器无loadable.tsx
import * as React from 'react'
import { Route, Switch } from 'react-router-dom'
import NotFound from '../components/NotFound/NotFound'
const routes = (
<Switch>
<Route component={NotFound} />
</Switch>
)
export default routes
似乎与此有关,@loadable/component
但我不是 100% 确定。