Node/react 如何 return 纯 html 渲染并发送给客户端
Node/react how to return pure html rendered with react and send to client
我有一个简单的 node.js 应用程序,它应该使用 React 的 renderToString
函数以纯 HTML 响应请求。渲染和响应的代码如下所示:
const markup = renderToString(
<Provider {...stores}>
<Router location={req.url} context={{}} history={browserHistory}>
<Routes/>
</Router>
</Provider>
);
res.status(200).send(markup);
并且 HTML 响应:
<section data-reactroot="">
<h1>Header</h1>
<div>Body</div>
</section>
我不希望输出中有任何反应痕迹。有没有办法在使用 React 渲染时不包含 data-reactroot
或任何其他 React 痕迹?
只需使用 renderToStaticMarkup
而不是 renderToString
,输出中不会有任何反应痕迹(参考 https://reactjs.org/docs/react-dom-server.html#rendertostaticmarkup)
你在使用 React 16 吗?使用该版本后,none of the generated React attributes should be present.
我有一个简单的 node.js 应用程序,它应该使用 React 的 renderToString
函数以纯 HTML 响应请求。渲染和响应的代码如下所示:
const markup = renderToString(
<Provider {...stores}>
<Router location={req.url} context={{}} history={browserHistory}>
<Routes/>
</Router>
</Provider>
);
res.status(200).send(markup);
并且 HTML 响应:
<section data-reactroot="">
<h1>Header</h1>
<div>Body</div>
</section>
我不希望输出中有任何反应痕迹。有没有办法在使用 React 渲染时不包含 data-reactroot
或任何其他 React 痕迹?
只需使用 renderToStaticMarkup
而不是 renderToString
,输出中不会有任何反应痕迹(参考 https://reactjs.org/docs/react-dom-server.html#rendertostaticmarkup)
你在使用 React 16 吗?使用该版本后,none of the generated React attributes should be present.