React Academy · Lektion

FixedSizeList: Rendering af tusindvis af elementer

Opsæt react-windows FixedSizeList til rækker med ensartet højde, og forbind den med Deres data.

Lektion 2 af 412 trin

FixedSizeList: Rendering af tusindvis af elementer er en gratis React Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i React Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. React Academy-kurset indeholder 4 lektioner i alt.

Installation af react-window

Du tilføjer react-window til et projekt med din pakkehåndtering, for eksempel ved at installere pakken react-window. Den er lille og har ingen tunge afhængigheder.

Når pakken er installeret, importerer du de listekomponenter, du har brug for, oftest FixedSizeList til rækker, der alle har samme højde.

Nødvendige props til FixedSizeList

FixedSizeList skal have flere props for at fungere: height og width definerer rullecontaineren, itemCount angiver antallet af elementer, og itemSize er højden på hver række i pixels.

children-proppen er en gengivelsesfunktion, der tegner en enkelt række. Med disse oplysninger kender komponenten den geometri, den skal bruge for at anvende vinduesteknik korrekt.

Funktionen til gengivelse af rækker

children-gengivelsesfunktionen modtager et objekt med index og style. index angiver, hvilket element der skal gengives, så du kan finde de rigtige data, og style placerer rækken i den virtualiserede liste.

Du returnerer JSX for den enkelte række, og react-window kalder kun funktionen for de rækker, der aktuelt befinder sig i vinduet.

Den afgørende style-prop

style-proppen er afgørende og skal anvendes på dit rækkeelement. react-window placerer hver række absolut og bruger top til at placere den ved den korrekte forskydning i en høj rullecontainer.

Hvis du ikke anvender style, stables alle rækker på samme position, og virtualiseringen bryder visuelt sammen.

Hvis du glemmer style, går alt i stykker

Den mest almindelige fejl i react-window er at udelade style-proppen på rækken. Listen ser ødelagt ud, fordi rækkerne overlapper øverst, og rulningen fungerer forkert.

Spred altid den angivne style ud på, eller tildel den til, det yderste element i din række, så placeringen forbliver korrekt.

Overførsel af data via itemData

I stedet for at bruge dit array direkte i gengivelsesfunktionen kan du sende det gennem itemData-proppen. react-window videresender det derefter til rækken som et datafelt sammen med index og style.

Det holder række-komponenten afkoblet og kan hjælpe med memo-isering, fordi rækken modtager sine data eksplicit.

Vandret retning

FixedSizeList understøtter vandrette lister via layout-proppen sat til horizontal eller ved at bruge retningsindstillingerne, afhængigt af versionen. itemSize repræsenterer så bredden i stedet for højden.

Det er praktisk til vandret rullende karuseller eller tidslinjer, der også indeholder mange elementer.

overscanCount

overscanCount-proppen gengiver nogle få ekstra rækker lige uden for det synlige vindue. Denne buffer mindsker risikoen for, at du ser tom plads under hurtig rulning, før nye rækker monteres.

En lille overscan gør oplevelsen jævnere, mens en stor overscan spilder fordelen ved at montere for mange rækker uden for skærmen.

AutoSizer til responsiv container

FixedSizeList kræver eksplicitte mål i pixels, hvilket er upraktisk i responsive layouts. Den tilhørende AutoSizer-komponent måler sit overordnede element og leverer width og height til listen via en gengivelsesprop.

Hvis du pakker listen ind i AutoSizer, kan den udfylde en fleksibel container uden fastkodede størrelser og tilpasse sig, når layoutet ændres.

Sådan sammensætter du FixedSizeList

En fungerende FixedSizeList angiver height, width, itemCount og itemSize og gengiver rækker gennem en children-funktion, der anvender style-proppen. Du kan valgfrit lade AutoSizer levere målene og bruge overscanCount til at tilføje en buffer.

Med dette på plads holder en liste af enhver længde kun de synlige rækker monteret, mens rulningen forbliver jævn.

Hurtigt tjek: Nødvendige props til FixedSizeList

Husk, hvilke oplysninger FixedSizeList skal have for at gengive rækker korrekt.

Opsamling: FixedSizeList

FixedSizeList gengiver rækker med samme højde ved hjælp af height, width, itemCount, itemSize og en children-gengivelsesfunktion, der modtager index og style. Det er obligatorisk at anvende style-proppen, ellers overlapper rækkerne.

Send data via itemData, understøt vandret layout, tilføj en lille buffer med overscanCount, og brug AutoSizer til at udfylde responsive containere uden fastkodede mål.

Gratis at komme i gang

Lær React med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
88
Lektioner
324

Ofte stillede spørgsmål

Er lektionen “FixedSizeList: Rendering af tusindvis af elementer” gratis?

Ja — hele teksten til “FixedSizeList: Rendering af tusindvis af elementer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af React Academy-kurset, skal du opgradere til CoddyKit PRO. React Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “FixedSizeList: Rendering af tusindvis af elementer”?

Opsæt react-windows FixedSizeList til rækker med ensartet højde, og forbind den med Deres data. Du øver dig i React Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på React Academy?

Der kræves ingen tidligere erfaring. React Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “FixedSizeList: Rendering af tusindvis af elementer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne React Academy-lektion?

Ja. Alle React Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Problemet med rendering af store lister
  2. FixedSizeList: Rendering af tusindvis af elementer
  3. VariableSizeList: Dynamiske rækkehøjder
  4. Kombination af virtualisering og datahentning
← Tilbage til React Academy