J'utilise React hooks et j'ai rencontré quelque chose que je ne sais pas comment faire.
J'ai un composant parent qui affiche une liste de villes.
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>;
})}
</>
);
};
Le problème que je rencontre est que chaque fois que je clique sur une ville, elle devient red
Cependant, je ne veux qu'une seule couleur rouge à la fois (celle sur laquelle on a cliqué le plus récemment).
Si cette question n'est pas claire, veuillez m'en informer.
Dans un composant de classe, je suppose que je ferais quelque chose de similaire à cette .
Voir le bac à sable aquí .