我可以在子组件?中更新父状态filters
。
const ParentComponent = () => {
const [filters, setFilters] = useState()
return (<></>)
}
const ChildrenComponent = ({ filters, setFilters }) => {
const handleDelete = (id) => {
const filtersCopy = { ...filters }
delete filtersCopy[id]
setFilters(filtersCopy)
}
return (<button onClick={() => handleDelete(1)}>Delete</button>)
}
有一些方法可以使用callback来获取prev状态,类似于:
setFilters(prev => { delete ...prev[id] }
2条答案
按热度按时间5kgi1eie1#
您已经接近答案,因为可以访问prev状态:
mnemlml82#
在我看来,你的东西应该能起作用,所以也许你有另一个问题?