cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanReact: Membuat antara muka pengguna yang dinamik dan interaktif

React adalah alat pilihan untuk membina antara muka pengguna yang dinamik dan interaktif. 1) Komponen dan JSX membuat UI berpecah dan menggunakan semula mudah. 2) Pengurusan negeri dilaksanakan melalui cangkuk UseState untuk mencetuskan kemas kini UI. 3) Mekanisme pemprosesan acara bertindak balas terhadap interaksi pengguna dan meningkatkan pengalaman pengguna.

Pengenalan

Dalam pembangunan front-end moden, React telah menjadi alat pilihan untuk membina antara muka pengguna yang dinamik dan interaktif. Sama ada anda pemula atau pemaju yang berpengalaman, adalah penting untuk memahami bagaimana untuk memanfaatkan bertindak balas untuk mewujudkan UI yang cekap dan responsif. Artikel ini akan membawa anda ke dalam menyelidiki konsep teras dan teknik praktikal React untuk membantu anda menguasai seni mewujudkan antara muka pengguna yang dinamik dan interaktif.

Dengan membaca artikel ini, anda akan belajar bagaimana untuk membina antara muka pengguna yang kompleks menggunakan pemikiran komponen React, pengurusan negeri, dan pemprosesan peristiwa. Kami juga akan meneroka beberapa perangkap biasa dan amalan terbaik untuk memastikan anda dapat memulakan dengan mudah dalam projek sebenar.

Semak pengetahuan asas

React adalah perpustakaan JavaScript untuk membina antara muka pengguna. Ia menguruskan keadaan dan logik UI melalui cara yang komponen. Komponen boleh menjadi komponen berfungsi atau komponen kelas, dan struktur UI biasanya diterangkan melalui sintaks JSX. Idea utama React adalah untuk memecah UI ke dalam komponen bebas, boleh diguna semula, masing -masing bertanggungjawab untuk keadaan dan tingkah lakunya sendiri.

Dalam React, keadaan dan sifat adalah konsep utama. Negeri digunakan untuk menguruskan data di dalam komponen, manakala atribut adalah data yang diluluskan dari komponen induk ke komponen kanak -kanak. Memahami perbezaan dan senario penggunaan antara kedua -duanya adalah asas untuk membina UI yang dinamik.

Konsep teras atau analisis fungsi

Komponen dan JSX

Idea komponen React membolehkan pemaju memecah UI kompleks ke bahagian yang lebih kecil dan terkawal. JSX adalah sambungan sintaks yang serupa dengan HTML. Ia membolehkan anda menulis kod seperti HTML dalam JavaScript, menjadikan penerangan UI lebih intuitif dan mudah dikekalkan.

 fungsi selamat datang (props) {
  kembali <h1 id="hello-props-name"> hello, {props.name} </h1>;
}

const element = <welcome name = "sara" />;
ReactDom.render (elemen, document.getElementById (&#39;root&#39;));

Dalam contoh ini, Welcome adalah komponen fungsi yang menerima atribut name dan mengembalikan elemen JSX. Dengan cara ini, kita boleh membuat dan menggunakan semula komponen dengan mudah.

Pengurusan Status

Pengurusan negeri adalah salah satu teras aplikasi React. Dengan menggunakan Hook useState (Hook), kita boleh menguruskan keadaan dalam komponen fungsi. Perubahan dalam pencetus keadaan semula komponen, dengan itu mengemas kini UI.

 Import React, {Usestate} dari &#39;React&#39;;

kaunter fungsi () {
  const [count, setCount] = useState (0);

  Kembali (
    <dana>
      <p> anda mengklik {count} kali </p>
      <butang onclick = {() => setCount (count 1)}> klik saya </butang>
    </div>
  );
}

Dalam contoh ini, cangkuk useState digunakan untuk membuat count pembolehubah negeri dan fungsi kemas kini setCount . Apabila pengguna mengklik butang, nilai count meningkat dan komponennya diperuntukkan semula untuk mencerminkan keadaan baru.

Pengendalian acara

React menyediakan mekanisme pengendalian peristiwa yang kuat, yang membolehkan kami dengan mudah bertindak balas terhadap interaksi pengguna. Fungsi pengendalian acara biasanya ditakrifkan oleh fungsi anak panah atau mengikat this .

 fungsi togol () {
  const [iSToggleon, setistoggleon] = useState (true);

  fungsi handleclick () {
    setistoggleon (! iSToggleon);
  }

  Kembali (
    <butang onclick = {handleclick}>
      {Istoggleon? &#39;On&#39;: &#39;off&#39;}
    </butang>
  );
}

Dalam contoh ini, fungsi handleClick dipanggil apabila pengguna mengklik butang, yang akan menukar keadaan isToggleOn , dengan itu mengubah teks butang.

Contoh penggunaan

Penggunaan asas

Mari kita lihat komponen bentuk mudah yang menunjukkan cara menggunakan pemprosesan negeri dan acara untuk membuat UI dinamik.

 fungsi nama () {
  const [nilai, setValue] = useState (&#39;&#39;);

  const handlechange = (event) => {
    setValue (event.target.value);
  };

  const handlesubmit = (event) => {
    Alert (&#39;Nama yang Dihantar:&#39; Nilai);
    event.PreventDefault ();
  };

  Kembali (
    <form onSubmit = {handlesubmit}>
      <label>
        Nama:
        <input type = "text" value = {value} onChange = {handlechange} />
      </label>
      <input type = "hantar" value = "hantar" />
    </form>
  );
}

Dalam contoh ini, komponen NameForm menggunakan useState untuk menguruskan nilai kotak input dan fungsi handleChange dan handleSubmit untuk mengendalikan input pengguna dan penyerahan borang.

Penggunaan lanjutan

Sekarang, mari kita lihat contoh yang lebih kompleks: komponen senarai yang boleh diedit. Komponen ini menunjukkan cara menggunakan rendering negeri dan bersyarat untuk mewujudkan UI yang dinamik dan interaktif.

 fungsi edodableList () {
  const [item, setItems] = useState ([&#39;item 1&#39;, &#39;item 2&#39;, &#39;item 3&#39;]);
  const [EditingIndex, setEditingIndex] = useState (null);
  const [newItem, setNewItem] = useState (&#39;&#39;);

  const handleEdit = (index) => {
    seteditingIndex (indeks);
    setNewItem (item [indeks]);
  };

  const handlesave = (index) => {
    const NewItems = [... item];
    NewItems [index] = NewItem;
    setItems (NewItems);
    seteditingIndex (null);
  };

  const handledelete = (index) => {
    const newItems = items.filter ((_, i) => i! == indeks);
    setItems (NewItems);
  };

  const handleadd = () => {
    jika (newItem.trim ()) {
      setItems ([... item, newItem]);
      setNewItem (&#39;&#39;);
    }
  };

  Kembali (
    <dana>
      <ul>
        {items.map ((item, indeks) => (
          <li key = {index}>
            {EditingIndex === Indeks? (
              <input
                type = "Text"
                nilai = {newItem}
                onChange = {(e) => setNewItem (e.target.value)}
              />
            ): (
              item
            )}
            {EditingIndex === Indeks? (
              <butang onclick = {() => handlaSave (index)}> simpan </butang>
            ): (
              <butang onclick = {() => handleEdit (index)}> edit </butang>
            )}
            <butang onclick = {() => handledelete (index)}> padam </butang>
          </li>
        ))}
      </ul>
      <input
        type = "Text"
        nilai = {newItem}
        onChange = {(e) => setNewItem (e.target.value)}
      />
      <butang onclick = {handLeadd}> Tambah </butang>
    </div>
  );
}

Dalam contoh ini, komponen EditableList menggunakan pelbagai pembolehubah negeri untuk menguruskan item senarai, edit status, dan input item baru. Melalui pemprosesan bersyarat dan pemprosesan acara, kami boleh melaksanakan senarai yang boleh diedit di mana pengguna boleh menambah, mengedit dan memadam item senarai.

Kesilapan biasa dan tip debugging

Kesalahan biasa apabila menggunakan React termasuk kemas kini keadaan yang salah, pengikatan pengendali acara yang salah, dan rendering komponen yang salah. Berikut adalah beberapa petua debug:

  • Kemas kini status yang salah : Pastikan anda menggunakan fungsi kemas kini yang betul (seperti fungsi kemas kini setState atau useState ) apabila mengemas kini status. Elakkan mengubahsuai pembolehubah negeri secara langsung, kerana ini tidak mencetuskan semula.

  • Fungsi pengendali peristiwa mengikat ralat : Pastikan fungsi pengendali acara betul -betul terikat kepada contoh komponen, terutamanya dalam komponen kelas. Gunakan fungsi anak panah atau kaedah bind untuk memastikan this .

  • Komponen tidak diberikan dengan betul : Periksa logik rendering bersyarat komponen untuk memastikan semua keadaan yang mungkin diambil kira. Gunakan console.log atau React DevTools untuk memeriksa alat dan keadaan komponen.

Pengoptimuman prestasi dan amalan terbaik

Dalam aplikasi praktikal, adalah penting untuk mengoptimumkan prestasi aplikasi React. Berikut adalah beberapa cadangan untuk pengoptimuman prestasi dan amalan terbaik:

  • Gunakan useMemo dan useCallback : Cangkuk ini boleh membantu anda mengelakkan penanaman semula yang tidak perlu dan meningkatkan prestasi aplikasi.
 import react, {useMemo, useCallback} dari &#39;react&#39;;

fungsi myComponent ({item}) {
  const sortEdItems = useMemo (() => {
    kembali [... item] .sort ((a, b) => a - b);
  }, [item]);

  const handleclick = useCallback (() => {
    // mengendalikan acara klik}, []);

  Kembali (
    <dana>
      {sortEdItems.map ((item) => (
        <div key = {item}> {item} </div>
      ))}
      <butang onclick = {handleclick}> klik saya </butang>
    </div>
  );
}

Dalam contoh ini, useMemo digunakan untuk menyenaraikan senarai cache untuk mengelakkan menyusun semula setiap kali anda membuatnya. useCallback digunakan untuk pengendali acara cache untuk mengelakkan rekreasi yang tidak perlu.

  • Elakkan penyampaian semula yang tidak perlu : Gunakan React.memo untuk membungkus komponen fungsi dan elakkan daripada penanaman semula apabila props tidak berubah.
 Import bertindak balas daripada &#39;bertindak balas&#39;;

const myComponent = react.memo (fungsi myComponent (props) {
  // Komponen logik kembali <div> {props.value} </div>;
});
  • Kod bacaan dan penyelenggaraan : Simpan satu tanggungjawab komponen dan elakkan daripada komponen komponen. Gunakan penamaan dan komen yang jelas untuk memastikan bahawa kod itu mudah difahami dan dikekalkan.

  • Amalan Terbaik untuk Pengurusan Negeri : Untuk aplikasi yang kompleks, pertimbangkan untuk menggunakan REDUX atau konteks API untuk menguruskan negara global untuk mengelakkan komponen bersarang berlebihan yang disebabkan oleh ketinggian negeri.

Dengan petua dan amalan ini, anda boleh membina aplikasi reaksi yang cekap dan dapat diselenggarakan yang memberikan pengalaman pengguna yang sangat baik.

Dalam projek yang sebenar, saya telah menemui masalah kesesakan prestasi: komponen senarai besar yang melahirkan semua subkomponen setiap kali status dikemas kini, menyebabkan kegagapan halaman. Dengan menggunakan React.memo dan useMemo , kami berjaya menyempitkan semula untuk hanya mengandungi perubahan, meningkatkan prestasi permohonan.

Singkatnya, React memberikan kita alat dan konsep yang berkuasa untuk mewujudkan antara muka pengguna yang dinamik dan interaktif. Dengan memahami dan mengamalkan teknik -teknik ini, anda akan dapat membina UI yang cekap dan responsif yang memenuhi keperluan aplikasi web moden.

Atas ialah kandungan terperinci React: Membuat antara muka pengguna yang dinamik dan interaktif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
CSS: Adakah buruk menggunakan pemilih ID?CSS: Adakah buruk menggunakan pemilih ID?May 13, 2025 am 12:14 AM

Menggunakan pemilih ID tidak sememangnya buruk dalam CSS, tetapi harus digunakan dengan berhati -hati. 1) Pemilih ID sesuai untuk elemen unik atau cangkuk JavaScript. 2) Untuk gaya umum, pemilih kelas harus digunakan kerana ia lebih fleksibel dan dapat dipelihara. Dengan mengimbangi penggunaan ID dan kelas, seni bina CSS yang lebih mantap dan cekap dapat dilaksanakan.

HTML5: Matlamat pada tahun 2024HTML5: Matlamat pada tahun 2024May 13, 2025 am 12:13 AM

Html5'sgoalsin2024focusonrefinementandoptimization, notnewfeatures.1) enhanceperformanceandeficiencythroughoptimizedrendering.2) ImproveAccessibilityWithreFinedAttributeseMelements.3)

Apakah kawasan utama di mana HTML5 cuba memperbaiki?Apakah kawasan utama di mana HTML5 cuba memperbaiki?May 13, 2025 am 12:12 AM

Html5aimedtoimproveWebdevelopmentinfourkeyareas: 1) Multimediasupport, 2) Semantik, 3) Formcapabilities, dan4) OfflineandStorageOptions.1)

ID dan Kelas CSS: Kesalahan BiasaID dan Kelas CSS: Kesalahan BiasaMay 13, 2025 am 12:11 AM

Idsshouldbeusedforjavascripthooks, whileClasseSarebetterforstyling.1) useClassforstylingtoallowforasierreuseAndavoidSpecificityIssues.2) useIdsforjavascthookstouniquelyifientelements.3)

Apakah pengertian antara pemilih kelas dan ID?Apakah pengertian antara pemilih kelas dan ID?May 12, 2025 am 12:13 AM

ClassselectorsareversatileAndreusable, whersidselectorsareuniqueandspecific.1) useClassSelectors (Denotedby.)

CSS IDS vs Kelas: Perbezaan SebenarCSS IDS vs Kelas: Perbezaan SebenarMay 12, 2025 am 12:10 AM

Idsareuniqueidiciersforsingleelements, whileClassesstylemultipleelements.1) usidsforuniqueelementsandjavascripthooks.2) useclassforreusable, flexiblestylingacrossmultipleelements.

CSS: Bagaimana jika saya menggunakan kelas hanya?CSS: Bagaimana jika saya menggunakan kelas hanya?May 12, 2025 am 12:09 AM

Menggunakan pemilih kelas sahaja boleh meningkatkan kebolehgunaan semula kod dan penyelenggaraan, tetapi memerlukan menguruskan nama dan keutamaan kelas. 1. Meningkatkan kebolehgunaan semula dan fleksibiliti, 2. Menggabungkan pelbagai kelas untuk mewujudkan gaya kompleks, 3.

Pemilih ID dan Kelas dalam CSS: Panduan PemulaPemilih ID dan Kelas dalam CSS: Panduan PemulaMay 12, 2025 am 12:06 AM

Pemilih ID dan kelas digunakan dalam CSS untuk tetapan gaya unik dan pelbagai elemen masing-masing. 1. Pemilih ID (#) sesuai untuk satu elemen, seperti menu navigasi tertentu. 2.Class Selector (.) Digunakan untuk pelbagai elemen, seperti gaya butang bersatu. ID harus digunakan dengan berhati -hati, mengelakkan kekhususan yang berlebihan, dan mengutamakan kelas untuk kebolehgunaan semula gaya dan fleksibiliti yang lebih baik.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.