我得到了一个包含2个react组件的列表,它们的初始颜色是黑色。
目标是下一个,当我点击一个组件时,如果它是橙子的,我想将前一个组件的状态设置为黑色。我试过useState钩子,但没有太大的成功。如果有人能给予我一些提示,那将是完美的。
const Square = () => {
const [actualColor, setColor] = useState("black")
const onClickEnterHandler = () => setColor("orange")
return(
<div>
</div>
)
}
export default Square
2条答案
按热度按时间dgtucam11#
如果我理解正确的话,当点击方块2时,你希望方块1是黑色的,方块2(当前活动的方块)是橙子的。
如果是,那么试试:
然后在Square组件中,您可以有条件地检查
active
属性并将活动Square设置为橙子。g9icjywg2#
如果你想改变多个组件,你必须将你的状态移动到它们的公共父节点,并将状态作为prop传递或使用React Context。