2016-05-14 6 views
2

jQueryでは、onメソッドを使用してイベントハンドラ関数をアタッチすることができます。このメソッドは、DOM変更やAjax呼び出しなどの何かがページのHTMLを置き換えるときにトリガーされます。ajax呼び出し後にReactコンポーネントを自動的にレンダリングする

Reactコンポーネントと同様のことが可能ですか? DOMを変更するajax呼び出しの後に、特定のclassの要素が見つかった場合は、それをレンダリングします(ReactDOM.render(...))。

ありがとうございました

+0

を私は誤解だ場合を除き、あなたのAJAX呼び出しが担当すべきではない反応にで書いている場合connect()に従う反応を使用している場合、これらのAPIに従ってくださいDOMを変更する。むしろ、あなたのajaxコールはあなたの反応コンポーネントの状態を変更しなければなりません。これは再レンダリングを引き起こし、domを変更する必要があります。一般的に、反応はdomを変更する責任がある唯一のものでなければなりません。 – Georgemayer

+0

私はReactによって行われた単一のページアプリケーションではありません。いくつかのコンポーネントの領域だけが「反応」し、他は複数の理由でjQueryによって管理されます。 –

答えて

4

反応するためにコンポーネントレンダリングの責任が与えられるべきです。したがって、あなたはcurrent stateにajax呼び出しからの応答を保存する必要があり、反応は現在の状態に基づいてコンポーネントレンダリングを処理します。 だけ

https://facebook.github.io/react/docs/component-api.html

またはあなたが反応し、Reduxの

+0

ページ内のすべてがReactを介して管理されている場合は、これが良い方法です。私のウェブサイトでは(複数の理由から、それはカジュアルではない)何かが「反応した」、何かではない。 あなたは私の問題の解決策を用意していますか?リスナーを付けると、クラスが発生したときに反応しますか? –

関連する問題