Logična vrednost v stanju v React
Ustvarimo stanje inCart, ki
bo pokazalo, ali je izdelek v košarici ali ne:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
</div>;
}
Naj vrednost false pomeni, da izdelek
ni v košarici, in vrednost true - da je
v košarici. Prikažimo te informacije s pomočjo
ternarnega operatorja:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
<span>{inCart ? 'v košarici' : 'ni v košarici'}</span>
</div>;
}
Zdaj pa naredimo gumb, ob kliku na katerega se bo izdelek dodal v košarico:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
<span>{inCart ? 'v košarici' : 'ni v košarici'}</span>
<button onClick={() => setInCart(true)}>btn</button>
</div>;
}
Modificirajmo našo kodo tako, da bo prvi klik na gumb dodal v košarico, drugi klik pa odstranil iz nje:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
<span>{inCart ? 'v košarici' : 'ni v košarici'}</span>
<button onClick={() => setInCart(!inCart)}>btn</button>
</div>;
}
Задание 1
Naredite gumb, katerega klik bo blokiral uporabnika in gumb, katerega klik bo odblokiral uporabnika.
Задание 2
Modificirajte prejšnjo nalogo tako, da bo od obeh gumbov vedno viden le ustrezni. To pomeni, če je uporabnik blokiran, je viden gumb za odblokiranje, če pa ni blokiran - gumb za blokiranje.