我正在尝试在使用 SSR、Redux 和路由器的应用程序中使用带有 React 的@loadable/component
库。
该文档提供了一个示例应用程序代码,但它没有路由器和 Redux(无需传递状态和渲染路由)。示例中的文件src/server/main.js
包含以下行:
const nodeExtractor = new ChunkExtractor({ statsFile: nodeStats })
const { default: App } = nodeExtractor.requireEntrypoint()
const webExtractor = new ChunkExtractor({ statsFile: webStats })
const jsx = webExtractor.collectChunks(<App />)
const html = renderToString(jsx)
但是我的应用程序的服务器端 JSX 看起来像这样(没有 < App/>),我有提供者和静态路由器组件包装器:
const jsx = (
<Provider store={store}>
<StaticRouter location={req.url} context={context}>
{renderRoutes(routes, params)}
</StaticRouter>
</Provider>
);
你能告诉我,我如何使用store
和StaticRouter
使用renderRoutes(...)
它,@loadable/component
以便我的 SSR 工作?
谢谢!