【发布时间】:2022-11-22 14:59:24
【问题描述】:
我在组件中有三个 div(也可以超过三个)。我想在单击它们时更改它们的颜色。如果我再次单击,它们将恢复原来的颜色。在我的代码中,如果我单击任何一个 div,所有 div 都会发生变化,你能帮我为特定的 div 做吗? 代码是:
import React,{useState} from 'react'
export default function ChangeColor() {
let [colorState,changeState]=useState(['red','green','blue']);
let [isActive,setIsActive]=useState(true);
return (
<>
{colorState.map((color,index)=>{
return(
<React.Fragment key={index}>
<div style={{width:'100px',height:'100px',backgroundColor:isActive?`${color}`:'yellow' }}
onClick={()=>{isActive?setIsActive(false) :setIsActive(true)}}>
<p>{color}</p>
</div>
</React.Fragment>
)})
}
</>
)
}
【问题讨论】:
标签: reactjs onclick background-color