【发布时间】:2016-10-15 11:31:38
【问题描述】:
我是 React 服务器端渲染的新手,正在使用 React , Redux , React router , Material UI 做一个小演示。我面临的问题是以下警告。不确定同构样式和资源如何与 webpack 一起使用。
我了解了服务器端渲染的管道如何工作,如果有错误请纠正我。
- 使用 renderToString 将 React 组件解析为 HTML。
- 一旦 HTML 在客户端呈现,所有事件、样式都会附加,这意味着 react 尝试再次在客户端呈现组件,如果组件已经创建,它将再次创建它。
- 如果组件已经创建或不是基于校验和派生的。
GIT 中报告的问题 https://github.com/callemall/material-ui/issues/4466
代码 https://github.com/sabha/React-Redux-Router-MaterialUI-ServerSideRendering
'warning.js:44Warning: React 试图在容器中重用标记 但校验和无效。这通常意味着您正在使用 服务器渲染和服务器上生成的标记不是什么 客户期待。 React 注入了新的标记来弥补 哪个有效,但您失去了服务器的许多好处 渲染。相反,弄清楚为什么生成的标记是 客户端或服务器上的不同:(客户端) 0;text-align:center;mui-prepared:;-webki (服务器) 0;text-align:center;-webkit-user-select:'
【问题讨论】:
-
你可能想看看这篇文章 - garysieling.com/blog/…
标签: javascript reactjs webpack material-ui