Я использую React-хуки и столкнулся с чем-то, что я не уверен, как это сделать.
У меня есть родительский компонент, который отображает список городов.
const Cities = ({ cities = ["London", "Barcelona", "Los Angeles", "New York"] }) => {
return (
<>
{cities.map(city => {
const [isActive, setActive] = useState(false);
return <p onClick={() => setActive(true)} style={{ color: isActive ? "red" : "green" }}>{city}</p>;
})}
</>
);
};
проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я нажимаю на город, он превращается в red
, однако я хочу, чтобы только один из них был красным в любой момент времени (т. Е. Самый последний нажатый).
Если с этим вопросом что-то неясно, пожалуйста, дайте мне знать.
В компоненте класса, я думаю, я потенциально мог бы сделать что-то похожее на this .
См. Код песочницы здесь .