在React状态下使用Set()容器是否正确?

时间:2017-08-25 15:09:24

标签: reactjs data-structures set

在React中使用状态时,建议将其保留为small as possible

很多时候,我使用javascript数组来存储例如React状态的ID列表。

state = {
    myListOfIDs: []
}

但是为了防止重复,使用javascript Set是否正确?或者React渲染是否很重要?

1 个答案:

答案 0 :(得分:1)

它无法改变渲染,最多可以改变虚拟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]