假设我的组件有一个状态,它是一组选定的 ID。Javascript 有一个Set
类型,所以我试试这个:
let [selectedIDs, setSelectedIDs] = useState(new Set());
JavascriptSet
本身是可变的,所以我很困惑。
function toggleSelectedID(id) {
let set = selectedIDs;
if (set.has(id)) { set.delete(id) }
else { set.add(id) }
// ???
setSelectedIDs(set);
}
如果Set
对象不可变,我将Set
使用添加或删除的元素创建一个新元素,并将该新元素传递Set
给setSelectedIDs
,更改此时的状态。
但是对于 mutable Set
,如果我们???
在线路上返回会发生什么?React 是否会处于糟糕的状态,因为我“进入”了它的状态并在没有正式告诉它的情况下对其进行了变异setSelectedIDs
?