Valor booleano en el estado en React

Hagamos un estado inCart que muestre si el producto está en el carrito o no:

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

Dejemos que el valor false signifique que el producto no está en el carrito, y el valor true - que está en el carrito. Mostremos esta información usando el operador ternario:

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

Y ahora hagamos un botón, al hacer clic en el cual el producto se agregará al carrito:

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

Modifiquemos nuestro código para que el primer clic en el botón agregue al carrito, y el segundo - lo elimine de él:

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

Haz un botón, cuyo clic baneé al usuario y un botón, cuyo clic desbaneé al usuario.

Задание 2

Modifica la tarea anterior para que de los dos botones siempre sea visible solo el correspondiente. Es decir, si el usuario está baneado, entonces es visible el botón para desbanear, y si no está baneado - el para banear.