2017-04-18 31 views
0

想象一下,我們有一個聊天應用程序和對話頁面已打開。如果其他用戶編輯的消息或消息狀態中的一條由發送到傳送發生更改,則Action將更新Store與新消息元數據。例如,在執行這些操作後,我們會在我們的Store中列出messagesState或messagesText或簡單地修改數據的消息。所以在這種情況下,我們不知道哪一行已被編輯,我們再次在視圖中渲染所有數據。 Flux原理是這種行爲嗎?只更新和發送關於更新對象的事件不是更好嗎?商店對象如何以流量模式更新視圖

(我開發Android應用程序,所以我不使用reactJS或其他圖書館這樣)

此外,我會想,如果我們用助焊劑混合MVP它的好!因爲如果一個視圖想要改變自己,我們必須在視圖中放置邏輯。例如直接獲取存儲數據並檢查它屬於哪個元素!我認爲演示文稿佈局適合這種情況。有沒有人試過這個?

回答

1

所以在這種情況下,我們不知道哪一行已被編輯,我們再次渲染所有數據。 Flux原理是這種行爲嗎?

是的,這是! Flux原理之一是數據的不變性,以避免對父數據結構中的每個對象執行增量更改處理。這也立即回答你的第二個問題:

是不是更好,只更新和發送有關更新對象的事件?

你的Android項目中有很多幫助庫可以建立不可變的數據結構。僅舉幾例:

相比之下,ReactJS能夠僅在 「UI層」 進行更新,DOM中,通過比較當前的DOM樹到即將更新的DOM樹,因此可以執行增量更新。 你可以在你的Android視圖中模仿這種行爲,通過類似於ReactJS的shouldComponentUpdate()函數來實現你的視圖。