Dávej pozor pozůstávající console.logy při odevzdávání, není to chyba, ale pokud to vyloženě zadání nevyžaduje, maž je.
V Blinds komponentě se děje na první pohled poměrně zasádní a neočekáváná chyba, protože vypadá, že vše funguje jak má.
V zadání je, že se mají použít string stavy open a closed. Při první načtení ti tedy z dat přijde open.
Jenže ty s tím stavem pracuješ jako s boolean hodnotou.
Např. tady:
<img src={blind ? openedImg : closedImg} />
A pak nastavuješ negovanou hodnotu tady:
onClick={() => {
setBlind(!blind);
}}
Což není špatný záměr, ale pokud by v smartHomeDatech bylo closed, tak budou stejně otevřené. Je to protože string se vyhodnotí jako true. A negace stringu je tedy pak false, proto to funguje. Ideálně by to tedy mělo vypadat podobně v Light.jsx
Zadání splněno, za mě super!
Mám jen pár poznámek
Dávej pozor pozůstávající console.logy při odevzdávání, není to chyba, ale pokud to vyloženě zadání nevyžaduje, maž je.
V Blinds komponentě se děje na první pohled poměrně zasádní a neočekáváná chyba, protože vypadá, že vše funguje jak má. V zadání je, že se mají použít string stavy
open
aclosed
. Při první načtení ti tedy z dat přijdeopen
. Jenže ty s tím stavem pracuješ jako s boolean hodnotou.Např. tady:
A pak nastavuješ negovanou hodnotu tady:
Což není špatný záměr, ale pokud by v smartHomeDatech bylo
closed
, tak budou stejně otevřené. Je to protože string se vyhodnotí jakotrue
. A negace stringu je tedy pak false, proto to funguje. Ideálně by to tedy mělo vypadat podobně v Light.jsx