Phi*_*ipp 14 javascript reactjs
我有一个react应用程序,它根据某些配置生成HTML输出.像这样:
export const getHtml = (config) => {
const {classes, children} = config
return (<div className={classes.join(' ')}>{children}</div>);
}
Run Code Online (Sandbox Code Playgroud)
在react应用程序内部,我可以轻松地显示生成的DOM对象,但我想将HTML代码保存到DB,将其显示在不同的页面上(无需再次加载反应/解析配置)
我找不到将JSX对象转换为纯HTML的方法......
Igo*_*vee 30
使用renderToStaticMarkup方法 - 它生成HTML字符串,我们可以快速传输到线路:
const htmlString = ReactDOMServer.renderToStaticMarkup(
<div ...
);
Run Code Online (Sandbox Code Playgroud)
redux代码:
这是我必须在react/redux应用程序中使用的完整代码.
import React from 'react';
import ReactDOMServer from 'react-dom/server';
import {Provider} from 'react-redux';
...
class ParentComponent extends React.Component {
...
getHtml(config) {
const {classes, children} = config
return ReactDOMServer.renderToStaticMarkup(
<Provider store={this.context.store}>
<ChildComponent classes={classes}>{children}</ChildComponent>
</Provider>
)
}
}
ParentComponent.contextTypes = { store: React.PropTypes.object };
Run Code Online (Sandbox Code Playgroud)
笔记:
ReactDOMServer.renderToStaticMarkup()
获得的HTML代码ParentComponent.contextTypes
使this.context.store可用Provider
以便它可以访问redux存储. 归档时间: |
|
查看次数: |
19010 次 |
最近记录: |