目录
一、问题参数原因
当数组或对象的原本地址没有发生改变时,页面不会检测到数据更新,下面是有问题的写法:
javascript
const [care, setCare] = useState<boolean[]>([])
care[index] = true
setCare(care) //这种写法的源地址不会发生变化,导致页面不能检测到地址变化
二、解决方案
可以通过解构数组或对象的形式来更新数据地址:
javascript
care[index] = true
setCare([...care]) //解构重构后地址刷新,页面渲染刷新,对象类型也类似
总结到此!