在Web前端開發中,這是一個區分來源和目標版本的依賴清單(建立可渲染元素清單)的過程告訴專案發生了什麼:新增、刪除或移動。
前兩者不是問題,但問題是判斷一個項目是否移動了
如果追蹤項目的值為 [2, 1, 3] 清單中的 1,如果清單重新排列為 [1, 2, 3],則該值會發生什麼。
您無法判斷是否有許多操作導致了新數組或例如只有一個。你必須用不同的方式來解決這個問題。
好吧,除非它是前端,否則實際上可能並不重要......主要是因為開發人員希望使用者獲得效能和一致性。
假設您有 50 張音樂專輯,而您只看到 10 張預取的專輯,您按名稱搜尋特定一張專輯,這會觸發獲取另外 10 張找到的專輯的請求。
現在,您如何判斷是否需要建立更多 HTML 元素、刪除冗餘或重新排列現有元素?
這是一個真正的問題,如果你做錯了,你就會留下很多問題:
我們開始了 - 您遇到了一致性和效能問題,使用者不會從使用您的網站中獲得樂趣。
有不同的解決方案,但它們都有各自的局限性,沒有完美的方法。
基本上,它們(通常)強制您為每個元素添加一個關鍵屬性,以便協調演算法可以輕鬆判斷該元素是否應該重複使用、刪除,或者它不存在並需要創建。
還有另一種方法,那就是迭代資料並比較已更改的內容以及專案所屬的內容。
即使 GitHub 和 Git 也無法總是準確地告訴你的檔案新增、刪除的行差異...
當然,您可以透過手動管理元素來避免協調,但您必須為此創建自己的自訂架構,通常您最終會重建整個元素清單而不重複使用。
你可以得出自己的結論。
以上是列表協調問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!