Hogyan kell használni a useState hook-ot tömbökkel?
Dec 18, 2025
Hagyjon üzenetet
AuseStateA hook a React egyik alapvető funkciója, amely lehetővé teszi a funkcionális komponensek állapotának kezelését. Amikor a tömbökkel kell dolgozni auseStatehook, számos technika és bevált gyakorlat segíthet az adatok hatékony kezelésében. A horgok beszállítójaként saját bőrömön tapasztaltam, mennyire fontos megérteni ezeket a fogalmakat, nem csak a React fejlesztésével összefüggésben, hanem a megbízható és hatékony megoldások tágabb értelmében is.
Tömb állapot inicializálása
Egy tömb használatának megkezdéséhez auseStatehook, először inicializálnia kell. AuseStateA hook egy kezdeti értéket vesz fel argumentumként, amely lehet egy üres tömb vagy egy tömb néhány kezdeti adattal.
import React, { useState } from 'react'; const ArrayExample = () => { // Üres tömb állapotának inicializálása const [elemek, setItems] = useState([]); return ( <div> {/* Az Ön JSX összetevője */} </div> ); }; export alapértelmezett ArrayExample;
Ebben a példában állapotváltozót hozunk létretételeketés a hozzá tartozó beállító funkciótsetItems. A kezdeti értéketételeketegy üres tömb.
Elemek hozzáadása egy tömbhöz
Az egyik gyakori művelet az elemek hozzáadása egy meglévő tömbhöz. Amikor auseStatehook, fontos megjegyezni, hogy nem szabad közvetlenül az állapotot mutálni. Ehelyett új tömböt kell létrehoznia a frissített értékekkel.
import React, { useState } from 'react'; const ArrayExample = () => { const [elemek, setItems] = useState([]); const addItem = () => { // Új tömb létrehozása a meglévő elemekkel és egy új elemmel const newItems = [...items, 'Új elem']; setItems(newItems); }; return ( <div> <button onClick={addItem}>Elem hozzáadása</button> <ul> {items.map((elem, index) => ( <li key={index}>{item}</li> ))} </ul> </div> ); }; export alapértelmezett ArrayExample;
AaddItemfüggvényt használjuk a spread operátort (...) egy új tömb létrehozásához, amely tartalmazza az összes meglévő elemet atételeketállapot és egy új elem. Aztán hívjuksetItemsaz új tömb segítségével frissítse az állapotot.
Elemek eltávolítása egy tömbből
Az elemek tömbből való eltávolításához új tömb létrehozása is szükséges az eltávolítani kívánt elem nélkül. Ennek egyik módja aszűrőmódszer.


import React, { useState } from 'react'; const ArrayExample = () => { const [elemek, setItems] = useState(['1. elem', '2. elem', '3. elem']); const removeItem = (indexToRemove) => { // Új tömb létrehozása az elem nélkül a megadott indexen const newItems = items.filter((_, index) => index!== indexToRemove); setItems(newItems); }; return ( <div> <ul> {items.map((elem, index) => ( <li key={index}> {item} <button onClick={() => removeItem(index)}>Remove</button> </li> ))} </ul> </div> ); }; export alapértelmezett ArrayExample;
ARemoveItemfüggvényt használjukszűrőmódszerrel hozzon létre egy új tömböt, amely az összes elemet tartalmazza, kivéve a megadott indexen lévőt. Aztán hívjuksetItemsaz új tömbbel az állapot frissítéséhez.
Elemek frissítése egy tömbben
Egy tömb elemének frissítése hasonló az elemek hozzáadásához vagy eltávolításához. Létre kell hoznia egy új tömböt a frissített értékkel.
import React, { useState } from 'react'; const ArrayExample = () => { const [elemek, setItems] = useState(['1. elem', '2. elem', '3. elem']); const updateItem = (indexToUpdate) => { // Új tömb létrehozása a frissített elemmel const newItems = [...elemek]; newItems[indexToUpdate] = 'Frissített tétel'; setItems(newItems); }; return ( <div> <ul> {items.map((elem, index) => ( <li key={index}> {item} <button onClick={() => updateItem(index)}>Frissítés</button> </li> ))} </ul> </div> ); }; export alapértelmezett ArrayExample;
Afrissítési elemfüggvényt, először létrehozunk egy új tömböt ugyanazokkal az értékekkel, mint atételeketállapotát a spread operátor segítségével. Ezután frissítjük a tételt a megadott indexen és hívjuksetItemsaz új tömbbel az állapot frissítéséhez.
Beágyazott tömbök használata
A beágyazott tömbök használatakor ugyanezek az elvek érvényesek. A beágyazás minden szintjén új tömböket kell létrehoznia, hogy elkerülje az állapot közvetlen mutációját.
import React, { useState } from 'react'; const NestedArrayExample = () => { const [nestedArray, setNestedArray] = useState([ ['Alelem 1', "Alelem 2'], ['Alelem 3', "Alelem 4'] ]); const updateNestedItem = (outerIndex, innerIndex) => { // Új beágyazott tömb létrehozása a frissített altétellel const newNestedArray = [...nestedArray]; const newInnerArray = [...újNestedArray[outerIndex]]; newInnerArray[innerIndex] = 'Frissített altétel'; newNestedArray[outerIndex] = újBelső tömb; setNestedArray(newNestedArray); }; return ( <div> <ul> {nestedArray.map((innerArray, outerIndex) => ( <li key={outerIndex}> <ul> {innerArray.map((subitem, innerIndex) => ( <li key={innerIndex}> {subitem} <button onClick={estedItem), => updateN innerIndex)}>Frissítés</button> </li> ))} </ul> </li> ))} </ul> </div> ); }; alapértelmezett NestedArrayExample exportálása;
AupdateNestedItemfüggvényt, új tömböket hozunk létre a beágyazás minden szintjén az alelem frissítéséhez. Aztán hívjuksetNestedArrayaz új beágyazott tömbbel az állapot frissítéséhez.
Használati esetek valós alkalmazásokban
Annak megértése, hogyan kell használni auseStateA tömbökkel ellátott horog számos valós alkalmazásban kulcsfontosságú. Például egy teendőlista alkalmazásban egy tömb segítségével tárolhatja a feladatok listáját. Új feladatokat adhat hozzá, befejezettként jelölheti meg (ami frissítésnek tekinthető), vagy eltávolíthatja őket a listáról.
Egy másik felhasználási eset a bevásárlókosár alkalmazás. A bevásárlókosár tételek tömbjeként is ábrázolható. Új termékeket helyezhet a kosárba, eltávolíthat tételeket, vagy frissítheti a kosárban lévő tételek mennyiségét.
Következtetés
AuseStatehook with tömbök alapos megfontolást igényel az állapot közvetlen mutációjának elkerülése érdekében. Ha új tömböket hoz létre a frissített értékekkel, akkor biztosíthatja, hogy a React összetevői helyesen jelenjenek meg újra, és fenntartsák a kiszámítható állapotot.
Horgszállítóként megértjük a kiváló minőségű megoldások fontosságát. Akár keresArany fürdőszobai kampókvagyFürdőszoba kiegészítők Törülközőakasztók, az Ön igényeinek megfelelő termékek széles választékával rendelkezünk. Ha felkeltette érdeklődését termékeink, vagy kérdése van, forduljon hozzánk bizalommal beszerzési megbeszélés céljából.
Hivatkozások
- Reagálja a hivatalos dokumentációt a useState hook-ról
- JavaScript MDN webdokumentumok tömbmódszerekkel (szűrő, térkép, terítés operátor)
