Loģiskā vērtība stāvoklī React
Izveidosim stāvokli inCart, kurš
rādīs, vai produkts atrodas grozā vai nē:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
</div>;
}
Lai vērtība false nozīmē, ka produkts
nav grozā, bet vērtība true - ka
atrodas grozā. Izvadīsim informāciju par to ar
ternārā operatora palīdzību:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
<span>{inCart ? 'grozā' : 'nav grozā'}</span>
</div>;
}
Tagad izveidosim pogu, kuras nospiešana pievienos produktu grozam:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
<span>{inCart ? 'grozā' : 'nav grozā'}</span>
<button onClick={() => setInCart(true)}>btn</button>
</div>;
}
Modificēsim mūsu kodu tā, lai pirmā nospiešana uz pogas pievienotu grozā, bet otrā - noņemtu no tā:
jsxfunction App() {
const [inCart, setInCart] = useState(false);
return <div>
<span>{inCart ? 'grozā' : 'nav grozā'}</span>
<button onClick={() => setInCart(!inCart)}>btn</button>
</div>;
}
Задание 1
Izveidojiet pogu, kuras nospiešana bloķēs lietotāju un pogu, kuras nospiešana atbloķēs lietotāju.
Задание 2
Modificējiet iepriekšējo uzdevumu tā, lai no divām pogām vienmēr būtu redzama tikai atbilstošā. Tas ir, ja lietotājs ir bloķēts, tad redzama poga atbloķēšanai, bet ja nav bloķēts - bloķēšanai.