Siirry sisältöön
Luonnos

useSortV2

React-hook tiedon järjestämiseen.

Käyttötarkoitus

useSortV2-hookilla voi järjestää objekteja sisältävän listan tietyn avaimen ja arvon perusteella. Sitä voi käyttää esimerkiksi taulukoiden tai muiden listamaisten esitystapojen järjestämiseen.

Oletuksena useSortV2-hook tukee seuraavien datatyyppien järjestämistä:

  • Teksti (string)
  • Numerot (number)
  • Päivämäärät (Date)

Tekstimuotoinen data järjestetään suomeksi lokalisoituna ja se järjestetään luonnollisen järjestyksen mukaisesti (Intl.Collator(Avautuu uuteen välilehteen)). Asetuksia voi muokata locale- ja collatorOptions-parametreilla.

Arvot null ja undefined järjestetään oletuksena ensimmäiseksi tai viimeiseksi riippuen valitusta järjestyksestä. Tähän voi vaikuttaa nullishOrder-parametrilla, jonka avulla ne voidaan järjestää myös aina ensimmäiseksi tai viimeiseksi.

Hook mahdollistaa myös järjestyksen räätälöinnin, jota voi hyödyntää monimutkaisempiin toteutuksiin. Katso esimerkki räätälöidyn järjestämisen toteuttamisesta.

Esimerkit

Taulukon järjestäminen

Esimerkki TableV2-komponentilla toteutetun taulukon järjestämisestä.

Oletusjärjestyksen asettaminen

useSortV2-hookille voidaan välittää defaultSort-parametri, joka asettaa oletusjärjestyksen, kun hook renderöidään ensimmäisen kerran.

Hookin palauttamaa setSort-funktiota voi hyödyntää järjestyksen asettamiseen halutuilla parametreilla.

Järjestyksen kontrollointi hookin ulkopuolelta

Hookkia voi käyttää kontrolloidusti, jolloin järjestys välitetään hookille sort-parametrissa ja järjestystä päivitetään onChange-funktion avulla.

Järjestyksen räätälöinti

Räätälöidyn järjestyksen voi toteuttaa joko globaalilla tai avain-kohtaisella compare-funktiolla. Arvoista on myös mahdollista laskea yhdistelmiä getValue-funktiolla, jonka perusteella järjestäminen suoritetaan.