Looginen arvo tilassa Reactissa

Tehdään tila inCart, joka näyttää, onko tuote ostoskorissa vai ei:

jsxfunction App() {
  const [inCart, setInCart] = useState(false);
  
  return <div>
    
  </div>;
}

Olkoon arvo false tarkoittaa, että tuote ei ole ostoskorissa, ja arvo true - että on ostoskorissa. Näytetään tieto tästä ternäärioperaattorin avulla:

jsxfunction App() {
  const [inCart, setInCart] = useState(false);
  
  return <div>
    <span>{inCart ? 'ostoskorissa' : 'ei ostoskorissa'}</span>
  </div>;
}

Tehdään nappi, jota painamalla tuote lisätään ostoskoriin:

jsxfunction App() {
  const [inCart, setInCart] = useState(false);
  
  return <div>
    <span>{inCart ? 'ostoskorissa' : 'ei ostoskorissa'}</span>
    <button onClick={() => setInCart(true)}>btn</button>
  </div>;
}

Muokataan koodiamme niin, että ensimmäinen painallus napista lisää ostoskoriin, ja toinen - poistaa sen sieltä:

jsxfunction App() {
  const [inCart, setInCart] = useState(false);
  
  return <div>
    <span>{inCart ? 'ostoskorissa' : 'ei ostoskorissa'}</span>
    <button onClick={() => setInCart(!inCart)}>btn</button>
  </div>;
}
Задание 1

Tee nappi, jonka painaminen estää käyttäjän ja nappi, jonka painaminen poistaa käyttäjän eston.

Задание 2

Muokkaa edellistä tehtävää niin, että kahdesta napista on aina näkyvissä vain vastaava. Eli jos käyttäjä on estetty, näkyy nappi eston poistamiseen, ja jos ei ole estetty - estämiseen.