2017-07-26 64 views
0

對不起,如果問題很混亂,但我剛剛開始使用React。基本上,我正在尋找開始添加單個組件到現有的網站。目前,當頁面加載時,有幾個AJAX請求用jQuery更新頁面的不同部分。如何從AJAX調用更新組件和非組件?

例如,我做了一個每30秒調用一次的AJAX請求來獲取AccountInfo,當它返回一個響應時,我更新頁面的兩個單獨部分,讓我們稱它們爲AccountPanel和SideBar。

問題#1

如果我是爲AccountPanel創建一個組件,我應該讓AJAX請求時,該組件支架和繼續使用jQuery在那裏更新補充工具欄?

問題2

或者是更好地爲雙方創建組件,並通過Ajax響應當道具?

ReactDOM.render(<AccountPanel />, document.getElementById('accountPanel')); 
ReactDOM.render(<SideBar />, document.getElementById('sideBar')); 

任何幫助表示讚賞:)

+0

你有一些jQuery插件,所以你必須使用jQuery?只是好奇。 –

回答

1

其實,我想你需要一些狀態容器。在你的所有組件之間共享狀態(在你的情況下是AccountInfo)。

我個人推薦使用Redux。因爲這個容器是完全可預測的。

在結果你的代碼將看起來像:

//create redux store somehow 

ReactDOM.render(<AccountPanel store = {resuxStore}/>, document.getElementById('accountPanel')); 
ReactDOM.render(<SideBar store = {resuxStore}/>, document.getElementById('sideBar')); 
+0

我在Redux上看過很多。隨着我們將更多應用程序遷移到React,它將變得更加複雜,並且數據的單一來源可能是最佳途徑。 – adamjld