Логическое значение в стейте в React

Давайте сделаем стейт inCart, который будет показывать, в корзине продукт или нет:

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

Пусть значение false значит, что продукт не в корзине, а значение true - что в корзине. Выведем информацию об этом с помощью тернарного оператора:

function App() { const [inCart, setInCart] = useState(false); return <div> <span>{inCart ? 'в корзине' : 'не в корзине'}</span> </div>; }

А теперь сделаем кнопку, по нажатию на которую продукт добавится в корзину:

function App() { const [inCart, setInCart] = useState(false); return <div> <span>{inCart ? 'в корзине' : 'не в корзине'}</span> <button onClick={() => setInCart(true)}>btn</button> </div>; }

Модифицируем наш код так, чтобы первое нажатие на кнопку добавляло в корзину, а второе - удаляло из нее:

function App() { const [inCart, setInCart] = useState(false); return <div> <span>{inCart ? 'в корзине' : 'не в корзине'}</span> <button onClick={() => setInCart(!inCart)}>btn</button> </div>; }

Сделайте кнопку, нажатие на которую будет банить пользователя и кнопку, нажатие на которую будет разбанивать пользователя.

Модифицируйте предыдущую задачу так, чтобы из двух кнопок всегда была видна только соответствующая. То есть, если пользователь забанен, то видна кнопка для разбанивания, а если не забанен - для забанивания.



Чат с GPT Компилятор