javascript - Node/ react 如何返回用 react 渲染的纯html并发送给客户端

标签 javascript node.js reactjs render-to-string

我有一个简单的 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 )

关于javascript - Node/ react 如何返回用 react 渲染的纯html并发送给客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48957606/

相关文章:

javascript - TypeScript - 扩展标准库 Math 的类型定义

javascript - 在元素内部滚动时防止 HTML 滚动,不隐藏滚动条

javascript - 了解 promise 链

javascript - 如何在node.js中获取底层操作系统的临时文件目录路径?

css - 选项卡导航中的条件 CSS Reactjs

javascript - Webpack 网络 worker 加载器不工作

javascript - Laravel 5 - 在 Javascript 中解密 Crypt::encrypt

javascript - 如何将公共(public)文件夹从src复制到dist文件夹

reactjs - TypeError : fs. existsSync 不是函数(Electron/ReactJS/Typescript)

javascript - react : How to access array in an object?