Надеюсь, это вам поможет. Если нет, дайте мне знать.
Мое решение довольно запутанное и не очень хороший код. Надеюсь, это может дать вам некоторое представление. Другая идея - вы можете использовать useRef
, чтобы отметить текущую ссылку цвета кнопки. Оттуда setState условно на основе этих ссылок
Также вам следует снова проверить свой код. Вы должны использовать useState(false)
not "false"
const [color, setColor] = useState(null);
const [color2, setColor2] = useState(null);
const onClick = (button) => {
if(button == 1){
if(color2 == "changed color"){
setColor("color 1");
setColor2("origin color");
}else{
setColor("color 1");
}
}else{
if(color1 == "changed color"){
setColor2("color 2");
setColor("origin color");
}else{
setColor2("color 2");
}
}
}
Затем передайте его так:
<button onClick={() => onClick(1)}>Button 1</button>
<button onClick={() => onClick(2)}>Button 2</button>