Reactコンポーネントを文字列から動的にレンダリングすることはできますか?文字列からレンダリングコンポーネントを返す
基本的に私はデータベースからのページのコンテンツを持っており、コンテンツ内にReactコンポーネントが必要です。
var html_string = '<i>React Component Rendered</i>: <Hello name="World" />';
var Hello = React.createClass({
render: function() {
return <strong>Hello {this.props.name}</strong>;
}
});
function createMarkup() { return {__html: html_string}; };
var App = React.createClass({
render: function() {
return <div dangerouslySetInnerHTML={createMarkup()} />;
}
});
ReactDOM.render(
<App/>,
document.getElementById('container')
);
をしかし、それはちょうど<Hello/>
を評価せずにHTMLをレンダリングします::
<div><i>React Component Rendered</i>: <hello name="World"></hello></div>
私が取得しようとしている:
<div><i>React Component Rendered</i>: <strong>Hello World</strong></div>
この私が達成しようとしているものの例JSfiddleの例:https://jsfiddle.net/26czprne/
ありがとう、あなたのためのアイデア@ mason505私はあなたのアプローチを使用して私のプロジェクトでそれを実装しました。ここに私の例があります:https://jsfiddle.net/ex77v29g/2/ 'componentDidMount'の中で' ReactDOM.render'を使うのは良い考えです。私は後で再考します。 – Alisson