2016-05-14 51 views
2

使用jQuery,我可以通過on方法附加一個事件處理函數,該方法在DOM更改和某些事情(如Ajax調用)替換頁面的HTML時也會觸發。ajax調用後自動渲染React組件

是否有可能對React組件做類似的事情?在改變DOM的ajax調用之後,如果找到具有特定class的元素,則將其渲染(使用ReactDOM.render(...))。

謝謝

+0

除非我的誤解,在你反應過來Ajax調用不應該負責改變DOM。相反,你的ajax調用應該改變你的反應組件的狀態,這會導致重新渲染,並且反過來應該修改dom。一般來說,反應應該是唯一負責修改dom的東西。 – Georgemayer

+0

我不在由React完成的單個頁面應用程序中。只有一些組件區域「反應」,其他組件由於多種原因由jQuery管理。 –

回答

4

組件渲染責任應給予反應。因此,您應該在current state中存儲來自ajax調用的響應,並根據當前狀態處理組件呈現。如果你正在使用 按照這些API才反應過來

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

或跟隨connect()如果你正在寫的反應,終極版

+0

如果您的頁面中的所有內容都通過React進行管理,那麼這是一種好方法。在我的網站(由於多種原因,這不是偶然的)某些東西是「反應」的,而不是一些東西。 您對我的問題有解決方案嗎?附上一個清單並在課堂發生時作出反應? –