2016-04-18 11 views
0

現在、生のHTMLから要素を作成するjqueryプラグインを使用しています。ReactJSコンポーネントfrom ReactDOM.render

'<div data-react-class="ContactSelect" data-react-props="{&quot;selectedItem&quot;:null}"></div>' 

ただし、反応によってこの新しいコンポーネントが正しく検出されません。この要素に反応するために呼び出すことができるイベントまたは関数はありますか?

答えて

0

リアクションはそれ自身をレンダリングするコンポーネントです。他の場所で作成された要素は、リアクション要素ではありません。さらに詳しい情報が必要な場合は、仮想DOMまたはshadow DOMについて読んでください。

ReactDOM.renderコンポーネントがDOMツリーの同じ場所にある場合、既にそこにあるノードでdiffチェックを行い、新しいコンポーネントを追跡しますが、移動する必要がありますリアクションを通して。

+0

しかし、サーバーによってレンダリングされる要素はどうなりますか?彼らはまた、反応成分に変わるネイティブな要素ではありませんか? Reactが元のHTMLに含まれていて、動的にロードされていない場合、Reactは実際にコンポーネントを正しくレンダリングします。 – user3598395

+0

Reactは文字列(renderToString)を生成します。この文字列は、仮想DOMコンポーネントではなく、マークアップとしてのみ生成されます。クライアント側のReactはこれらの要素を認識していません。クライアントサイドのコンポーネントがノードツリー上の同じ場所にロードされると、差分チェックやイベントハンドラなどの初期化が行われます。 –

+0

適切なレスポンスを経ずに結果のhtmlをコピー&ペーストしても、コンポーネントが読み込まれます。これは、ページがロードされた後、私が動的にこれを行うように見えないことです。 – user3598395

関連する問題