バックエンドでマークアップをレンダリングするアプリケーション (Rails に組み込まれている) があり、ReactJS を使用してフロントエンドの追加機能で「拡張」したいと考えています。
コンテンツのレンダリングは次のようになります。
<%= react_component :TestComponent do %>
<div class="foo">
Here's some content.
</div>
<% end %>
data-
この呼び出しは、 react_ujs がキャプチャして React コンポーネントをインスタンス化するいくつかの属性を持つラッパー div を作成します。私が失敗しているのは、(jquery を使用してややクレイジーなトリックを行う方法を除いて) このマウント要素の内容 (つまり、クラス「foo」を持つ内部 div とその内容) を取得する方法を見つけることです。 React コンポーネントを作成して、JSX に含めることができるようにします。
React.createClass({
render: function() {
return (
<div className="my-component">
{ mount point contents here! }
</div>
);
}
});
この動作は、AngularJS 用語で「トランスクルード」と呼ばれるものです。
ReactJS でこの動作を実現する方法はありますか? へのポインタをいくつか受け取りましたthis.props.children
が、これでは必要な結果が得られないようでundefined
、マウント要素にコンテンツが含まれている場合でもそうなるでしょう。