react中更改了数组但是视图(dom节点)没有变化解决方法

 <div className="selection" style={item.select == true?{backgroundColor:'rgba(0,230,155,.8)'}:{backgroundColor:'rgba(0,255,172,.1)'}}  onClick={()=>selectReport(index,item.name)}></div>

这里我们有一个点击事件,让这个div变色。

    const [reportChange,setreportChange] = useState([
        {
            name:"水文水资源",
            img:'',
            select:false
            
        },
        {
             name:"水源地水质",
             img:'',
             select:false
         },
         {
             name:"畜禽养殖",
             img:'',
             select:false
         },
         {
             name:"污水处理",
             img:'',
             select:false
         },

    ])
        const selectReport = (index,sele)=>{
        let array = [...reportChange];
        array[index].select = !array[index].select
        setreportChange(array)
        // console.log(reportChange,sele)

    }

这里的变色我们是根据遍历的reportChange数据进行变化
我们将array对数组进行解构,然后完成点击变化事件后,再将array重新赋值给reportChange

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值