【发布时间】:2020-03-06 09:06:41
【问题描述】:
我想在我的 React 组件中使用 ES6 Set,以及 useState() 和 useEffect()。它适用于 useState(),但在更改 Set 依赖项时不会触发 useEffect()。
这是相关代码。 onChange() 已被记忆。
const Filter = ({ onChange }) => {
const [selected, setSelected] = useState(new Set())
console.log("Selected Set", selected)
useEffect(() => {
console.log("effect")
onChange(Array.from(selected))
}, [selected, onChange])
const handleClick = (topic) => {
selected.add(topic)
}
return (
<div className="filter">
</div>
)
}
我知道我可以使用 Array 来做到这一点,但如果能够利用 Set 的有用属性而无需每次都创建辅助函数,那就太好了。
有什么想法吗?
【问题讨论】:
标签: javascript reactjs ecmascript-6 set react-hooks