Bagaimana untuk menggunakan cangkuk useState dengan tatasusunan?

Dec 18, 2025

Tinggalkan pesanan

TheuseStatecangkuk ialah ciri asas dalam React yang membolehkan komponen berfungsi mengurus keadaan. Apabila ia datang untuk bekerja dengan tatasusunan dalamuseStatehook, terdapat beberapa teknik dan amalan terbaik yang boleh membantu anda mengendalikan data dengan berkesan. Sebagai pembekal cangkuk, saya telah melihat secara langsung betapa pentingnya memahami konsep ini, bukan sahaja dalam konteks pembangunan React tetapi juga dalam erti kata yang lebih luas dalam menyediakan penyelesaian yang boleh dipercayai dan cekap.

Memulakan Keadaan Tatasusunan

Untuk mula menggunakan tatasusunan denganuseStatecangkuk, anda perlu memulakannya terlebih dahulu. TheuseStatecangkuk mengambil nilai awal sebagai hujah, yang boleh menjadi tatasusunan kosong atau tatasusunan dengan beberapa data awal.

import React, { useState } daripada 'react'; const ArrayExample = () => { // Mulakan keadaan tatasusunan kosong const [item, setItems] = useState([]); return ( <div> {/* Komponen anda JSX */} </div> ); }; eksport lalai ArrayContoh;

Dalam contoh ini, kami mencipta pembolehubah keadaanbarangdan fungsi setter yang sepadansetItems. Nilai awal bagibarangialah tatasusunan kosong.

Menambah Elemen pada Tatasusunan

Satu operasi biasa ialah menambah elemen pada tatasusunan sedia ada. Apabila menggunakanuseStatecangkuk, adalah penting untuk diingat bahawa anda tidak harus mengubah keadaan secara langsung. Sebaliknya, anda perlu mencipta tatasusunan baharu dengan nilai yang dikemas kini.

import React, { useState } daripada 'react'; const ArrayExample = () => { const [item, setItem] = useState([]); const addItem = () => { // Cipta tatasusunan baharu dengan item sedia ada dan item baharu const newItems = [...item, 'Item Baharu']; setItems(newItems); }; kembali ( <div> <button onClick={addItem}>Tambah Item</button> <ul> {items.map((item, index) => ( <li key={index}>{item}</li> ))} </ul> </div> ); }; eksport lalai ArrayContoh;

DalamaddItemfungsi, kami menggunakan operator spread (...) untuk mencipta tatasusunan baharu yang merangkumi semua item sedia ada daripadabarangnegeri dan item baharu. Lepas tu kita callsetItemsdengan tatasusunan baharu untuk mengemas kini keadaan.

Mengalih keluar Elemen daripada Array

Mengalih keluar elemen daripada tatasusunan juga memerlukan mencipta tatasusunan baharu tanpa elemen yang ingin anda alih keluar. Satu cara untuk melakukan ini adalah dengan menggunakanpenapiskaedah.

Bathroom Accessories Towel Hooksnew england bathroom accessories

import React, { useState } daripada 'react'; const ArrayExample = () => { const [item, setItem] = useState(['Item 1', 'Item 2', 'Item 3']); const removeItem = (indexToRemove) => { // Cipta tatasusunan baharu tanpa item pada indeks yang ditentukan const newItems = items.filter((_, index) => index!== indexToRemove); setItems(newItems); }; return ( <div> <ul> {items.map((item, index) => ( <li key={index}> {item} <button onClick={() => removeItem(index)}>Alih keluar</button> </li> ))} </ul> </div> ); }; eksport lalai ArrayContoh;

DalamremoveItemfungsi, kami menggunakanpenapiskaedah untuk mencipta tatasusunan baharu yang merangkumi semua item kecuali satu pada indeks yang ditentukan. Lepas tu kita callsetItemsdengan tatasusunan baharu untuk mengemas kini keadaan.

Mengemas kini Elemen dalam Tatasusunan

Mengemas kini elemen dalam tatasusunan adalah serupa dengan menambah atau mengalih keluar elemen. Anda perlu mencipta tatasusunan baharu dengan nilai yang dikemas kini.

import React, { useState } daripada 'react'; const ArrayExample = () => { const [item, setItem] = useState(['Item 1', 'Item 2', 'Item 3']); const updateItem = (indexToUpdate) => { // Cipta tatasusunan baharu dengan item kemas kini const newItems = [...item]; newItems[indexToUpdate] = 'Item Kemas Kini'; setItems(newItems); }; return ( <div> <ul> {items.map((item, index) => ( <li key={index}> {item} <button onClick={() => updateItem(index)}>Update</button> </li> ))} </ul> </div> ); }; eksport lalai ArrayContoh;

Dalamkemas kiniItemfungsi, kita mula-mula mencipta tatasusunan baharu dengan nilai yang sama sepertibarangnyatakan menggunakan operator spread. Kemudian kami mengemas kini item pada indeks dan panggilan yang ditentukansetItemsdengan tatasusunan baharu untuk mengemas kini keadaan.

Bekerja dengan Tatasusunan Bersarang

Apabila bekerja dengan tatasusunan bersarang, prinsip yang sama digunakan. Anda perlu mencipta tatasusunan baharu pada setiap peringkat bersarang untuk mengelak daripada mengubah keadaan secara langsung.

import React, { useState } daripada 'react'; const NestedArrayExample = () => { const [nestedArray, setNestedArray] = useState([ ['Subitem 1', 'Subitem 2'], ['Subitem 3', 'Subitem 4'] ]); const updateNestedItem = (outerIndex, innerIndex) => { // Cipta tatasusunan bersarang baharu dengan subitem dikemas kini const newNestedArray = [...nestedArray]; const newInnerArray = [...newNestedArray[outerIndex]]; newInnerArray[innerIndex] = 'Subitem Kemas Kini'; newNestedArray[outerIndex] = newInnerArray; setNestedArray(newNestedArray); }; pulangkan ( <div> <ul> {nestedArray.map((innerArray, outerIndex) => ( <li key={outerIndex}> <ul> {innerArray.map((subitem, innerIndex) => ( <li key={innerIndex}> {subitem} <button onClick={() => updateNestedItem,(outerIndexItem,(outerIndex) => innerIndex)}>Kemas kini</button> </li> ))} </ul> </li> ))} </ul> </div> ); }; eksport lalai NestedArrayExample;

Dalamkemas kiniNestedItemfungsi, kami mencipta tatasusunan baharu pada setiap peringkat sarang untuk mengemas kini subitem. Lepas tu kita callsetNestedArraydengan tatasusunan bersarang baharu untuk mengemas kini keadaan.

Gunakan Kes dalam Aplikasi Dunia Sebenar

Memahami cara menggunakanuseStatecangkuk dengan tatasusunan adalah penting dalam banyak aplikasi dunia sebenar. Contohnya, dalam aplikasi senarai tugasan, anda boleh menggunakan tatasusunan untuk menyimpan senarai tugasan. Anda boleh menambah tugasan baharu, menandainya sebagai selesai (yang boleh dianggap sebagai kemas kini) atau mengalih keluarnya daripada senarai.

Kes penggunaan lain adalah dalam aplikasi troli beli-belah. Troli beli-belah boleh diwakili sebagai pelbagai item. Anda boleh menambah item baharu pada troli, mengalih keluar item atau mengemas kini kuantiti item dalam troli.

Kesimpulan

MenggunakanuseStatecangkuk dengan tatasusunan memerlukan pertimbangan yang teliti untuk mengelakkan perubahan keadaan secara langsung. Dengan mencipta tatasusunan baharu dengan nilai yang dikemas kini, anda boleh memastikan komponen React anda dipaparkan semula dengan betul dan mengekalkan keadaan yang boleh diramal.

Sebagai pembekal cangkuk, kami memahami kepentingan menyediakan penyelesaian berkualiti tinggi. Sama ada anda sedang mencariCangkuk Bilik Mandi EmasatauAksesori Bilik Mandi Cangkuk Tuala, kami mempunyai pelbagai jenis produk untuk memenuhi keperluan anda. Jika anda berminat dengan produk kami atau mempunyai sebarang pertanyaan, sila hubungi kami untuk perbincangan perolehan.

Rujukan

  • React dokumentasi rasmi pada useState hook
  • Dokumen Web MDN JavaScript pada kaedah tatasusunan (penapis, peta, pengendali hamparan)

Hantar pertanyaan