React-hook käyttöliittymän tumman ja vaalean tilan vaihtamiseen.
Käyttötarkoitus
Käytä useMode-hookkia KDS:n komponenttien ulkoasuteeman tilan (tumma/vaalea) tunnistamiseen ja vaihtamiseen.
Ominaisuudet
Oletuksena hook antaa tumman tilan CSS-luokan sovelluksen root-elementille (document.documentElement). Luokan voi tarvittaessa asettaa toiseen elementtiin element-propin avulla. Käytetyn elementin tulee olla sama, jolle on annettu KDS-teeman CSS-luokka.
Mikäli sovellus tarvitsee tummaa tilaa varten myös oman räätälöidyn luokan, esimerkiksi käytössä olevaa laajennusta varten, voidaan sellainen asettaa additionalClassName-propin avulla.
Valitun tilan arvon tallentaminen onnistuu onChange-funktion avulla.
Palvelinpuolen renderöinti tai client-koodin hidas latautuminen sattaa aiheuttaa väärän väritilan näkymisen hetkellisesti sivua ladattaessa, joka näkyy välähdyksenä.
Välähdys voidaan välttää suorittamalla alla olevan esimerkin kaltainen alustusskripti mahdollisimman aikaisin head-osiossa ennen Reactin client-koodia.
Hookin system-asetusta käytettäessä voi aiheutua hydration(Avautuu uuteen välilehteen)-virheitä, joita voi välttää suorittamalla hookin ainoastaan client-puolella.
Tila-asetuksen tallentaminen evästeeseen parantaa yhteensopivuutta, sillä eväste on käytettävissä sekä palvelin- että selainpuolella, jolloin tieto tallennetusta tilasta on käytettävissä renderöintitavasta riippumatta.