0
在使用狀態下進行反應時,建議報告,以保持它作爲small as possible在React狀態下使用Set()容器是否正確?
很多時候,我使用JavaScript數組存儲例如ID列表中的一個作出反應的狀態。
state = {
myListOfIDs: []
}
但爲了防止重複,是否正確使用javascript Set?或者它是沉重的反應渲染?
在使用狀態下進行反應時,建議報告,以保持它作爲small as possible在React狀態下使用Set()容器是否正確?
很多時候,我使用JavaScript數組存儲例如ID列表中的一個作出反應的狀態。
state = {
myListOfIDs: []
}
但爲了防止重複,是否正確使用javascript Set?或者它是沉重的反應渲染?
它不能改變渲染,最多它可以改變虛擬DOM的協調時間,但我懷疑你會看到任何區別。我已經使用過集合,它從不會顯着影響性能。
您可以將集看作值爲true
的對象,即{1,2,3} ~ {1: true, 2: true, 3: true}
。如果對象可以存儲狀態,集合也是如此。
如果你所擔心的數據結構,你可以隨時讓你的陣列通過鑄造兩次包含唯一的元素:
a = [1,2,3,3,3]
b = new Set(a) // {1,2,3}
c = [...b] // [1,2,3]