cari
Rumahhujung hadapan webtutorial jsApakah React ⚛️ dan Konsep Komponen

What is React ⚛️ and the Concept of Components

React ⚛️ ialah perpustakaan JavaScript yang berkuasa untuk membina antara muka pengguna. Dibangunkan oleh Facebook pada 2013, ia merevolusikan pembangunan UI dengan seni bina berasaskan komponen dan pendekatan deklaratifnya. Sama ada anda mencipta apl web mudah atau sistem yang kompleks, React menjadikan bangunan boleh guna semula, UI dinamik cekap dan menyeronokkan.

Artikel ini menyelami asas React dan konsep terasnya: Komponen, dengan banyak contoh kod untuk menggambarkan idea ini.

Apakah React?

Pada terasnya, React ialah pustaka JavaScript yang direka untuk membina antara muka pengguna yang dinamik dan interaktif. Ia memfokuskan pada lapisan paparan aplikasi, mengikut seni bina Model-View-Controller (MVC). React memudahkan untuk membuat antara muka yang mengemas kini dengan cekap apabila data aplikasi anda berubah.

Kenapa Pilih React?

  1. Komponen Boleh Guna Semula: Bangunkan UI modular dengan memecahkannya kepada komponen bebas dan boleh guna semula.
  2. DOM Maya: Kemas kini yang lebih pantas dengan mengira perubahan dalam DOM Maya yang ringan sebelum mengemas kini DOM sebenar.
  3. Deklaratif: Terangkan perkara yang anda mahu lihat dalam UI dan React mengendalikan yang lain.
  4. Ekosistem Kaya: Manfaatkan perpustakaan seperti Redux, React Router dan Next.js untuk memperluaskan keupayaan React.

Konsep Komponen dalam React

Aplikasi React dibina menggunakan komponen, yang merupakan blok binaan apl React. Komponen ialah bahagian bebas UI yang merangkumi logik, struktur dan gayanya.

Komponen Berfungsi

Komponen fungsian ialah fungsi JavaScript ringkas yang menerima props sebagai input dan mengembalikan elemen React. Ia adalah jenis komponen yang paling biasa dalam aplikasi React moden.

Contoh: Komponen Fungsi Asas

function Welcome(props) {
  return <h1 id="Hello-props-name">Hello, {props.name}!</h1>;
}

// Usage
<welcome name="Alice"></welcome>;

Komponen Kelas

Komponen kelas ialah kelas ES6 yang memanjangkan kelas React.Component. Ia biasanya digunakan sebelum pengenalan cangkuk.

Contoh: Komponen Kelas Asas

function Welcome(props) {
  return <h1 id="Hello-props-name">Hello, {props.name}!</h1>;
}

// Usage
<welcome name="Alice"></welcome>;

Anatomi Komponen

Contoh: Komponen Fungsian dengan Keadaan

import React, { Component } from 'react';

class Welcome extends Component {
  render() {
    return <h1 id="Hello-this-props-name">Hello, {this.props.name}!</h1>;
  }
}

// Usage
<welcome name="Alice"></welcome>;

Pecahan:

  1. Pengurusan Negeri: Cangkuk useState digunakan untuk mengurus keadaan (kiraan) dalam komponen.
  2. Props: Data boleh dihantar ke komponen melalui prop.
  3. Acara: Pengendali acara onClick mengemas kini keadaan apabila butang diklik.

Prop lwn Negeri

Feature Props State
Definition Data passed to a component from its parent. Data managed within the component.
Mutability Immutable (cannot be changed by the receiving component). Mutable (can be updated within the component).
Usage Used for passing data to child components. Used for dynamic data that changes over time.
Ciri Props Negeri Takrif Data dihantar kepada komponen daripada induknya. Data diurus dalam komponen. Mutability Tidak boleh ubah (tidak boleh diubah oleh komponen penerima). Mutable (boleh dikemas kini dalam komponen). Penggunaan Digunakan untuk menghantar data kepada komponen anak. Digunakan untuk data dinamik yang berubah dari semasa ke semasa.

Nyatakan dalam Komponen

State ialah objek khas dalam React yang digunakan untuk menyimpan data yang perlu dibuat oleh komponen. Komponen berfungsi menggunakan cangkuk useState untuk pengurusan keadaan.

Contoh: Kaunter dengan Negeri

function Welcome(props) {
  return <h1 id="Hello-props-name">Hello, {props.name}!</h1>;
}

// Usage
<welcome name="Alice"></welcome>;

Prop dalam Komponen

Props ialah hujah yang dihantar daripada komponen induk kepada komponen anak, membenarkan data mengalir ke bawah hierarki komponen.

Contoh: Melepasi Props

import React, { Component } from 'react';

class Welcome extends Component {
  render() {
    return <h1 id="Hello-this-props-name">Hello, {this.props.name}!</h1>;
  }
}

// Usage
<welcome name="Alice"></welcome>;

Komponen Mengarang

React menggalakkan komponen bersarang untuk membina UI kompleks daripada blok binaan yang lebih kecil dan boleh digunakan semula.

Contoh: Komponen Bersarang

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>Count: {count}</p>
      <button onclick="{()"> setCount(count + 1)}>Increment</button>
    </div>
  );
}

Kaedah Kitar Hayat dalam Komponen Kelas

Komponen kelas termasuk kaedah kitar hayat untuk melakukan tindakan semasa fasa pemasangan, pengemaskinian dan nyahlekap. Untuk komponen berfungsi, cangkuk React seperti useEffect menggantikan kaedah kitaran hayat ini.

Contoh: Kaedah Kitar Hayat

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>Count: {count}</p>
      <button onclick="{()"> setCount(count + 1)}>Increment</button>
    </div>
  );
}

// Usage
;

Contoh: Kitaran hayat dengan useEffect

function Greeting({ name }) {
  return <h1 id="Welcome-name">Welcome, {name}!</h1>;
}

function App() {
  return <greeting name="John"></greeting>;
}

// Renders: Welcome, John!

Pengendalian Acara dalam React

React memudahkan pengendalian acara. Pengendali acara diserahkan sebagai prop kepada elemen dan dilaksanakan apabila acara itu berlaku.

Contoh: Klik Acara

function Header() {
  return <header><h1 id="My-Website">My Website</h1></header>;
}

function Main() {
  return <main><p>This is the main content.</p></main>;
}

function Footer() {
  return <footer><p>© 2024 My Website</p></footer>;
}

function App() {
  return (
    <div>
      <header></header>
      <main></main>
      <footer></footer>
    </div>
  );
}

// Usage
<app></app>;

Contoh: Pengendalian Input

import React, { Component } from 'react';

class Timer extends Component {
  componentDidMount() {
    console.log('Timer mounted');
  }

  componentWillUnmount() {
    console.log('Timer unmounted');
  }

  render() {
    return <p>Timer running...</p>;
  }
}

// Usage
<timer></timer>;

Pemarahan Bersyarat

React membolehkan anda membuat komponen atau elemen secara bersyarat berdasarkan logik aplikasi.

Contoh: Rendering Bersyarat

import React, { useEffect } from 'react';

function Timer() {
  useEffect(() => {
    console.log('Timer mounted');
    return () => console.log('Timer unmounted');
  }, []);

  return <p>Timer running...</p>;
}

// Usage
<timer></timer>;

Senarai dan Kunci

Apabila memaparkan senarai dalam React, adalah penting untuk memberikan kunci unik kepada setiap elemen untuk membantu React mengenal pasti perubahan.

Contoh: Membuat Senarai

function Button() {
  function handleClick() {
    alert('Button clicked!');
  }

  return <button onclick="{handleClick}">Click Me</button>;
}

// Usage
<button></button>;

Komponen Boleh Guna Semula

React menggalakkan mencipta komponen yang boleh digunakan semula di seluruh aplikasi untuk mengurangkan lebihan.

Contoh: Komponen Butang Boleh Digunakan Semula

import React, { useState } from 'react';

function InputExample() {
  const [text, setText] = useState('');

  function handleChange(event) {
    setText(event.target.value);
  }

  return (
    <div>
      <input type="text" value="{text}" onchange="{handleChange}">
      <p>You typed: {text}</p>
    </div>
  );
}

// Usage
<inputexample></inputexample>;

Kesimpulan

React ialah alat yang berkuasa untuk membina aplikasi web moden. Seni bina berasaskan komponennya, ditambah dengan ciri seperti prop, keadaan dan cangkuk, memungkinkan untuk mencipta UI yang dinamik, cekap dan boleh digunakan semula. Dengan menguasai konsep teras React dan menggunakan alatannya dengan berkesan, pembangun boleh menyampaikan pengalaman pengguna yang luar biasa sambil mengekalkan pangkalan kod yang bersih dan boleh diselenggara. Bersedia untuk bermula? Bina apl React pertama anda dan lihat keajaiban komponen dalam tindakan! ?

Atas ialah kandungan terperinci Apakah React ⚛️ dan Konsep Komponen. 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
Ganti aksara rentetan dalam javascriptGanti aksara rentetan dalam javascriptMar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Bina Aplikasi Web Ajax anda sendiriBina Aplikasi Web Ajax anda sendiriMar 09, 2025 am 12:11 AM

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

10 JQuery Fun and Games Plugin10 JQuery Fun and Games PluginMar 08, 2025 am 12:42 AM

10 Plugin Permainan JQuery yang menyeronokkan untuk menjadikan laman web anda lebih menarik dan meningkatkan keletihan pengguna! Walaupun Flash masih merupakan perisian terbaik untuk membangunkan permainan web kasual, jQuery juga boleh menghasilkan kesan yang mengejutkan, dan walaupun tidak setanding dengan permainan flash aksi tulen, dalam beberapa kes, anda juga boleh bersenang -senang di penyemak imbas anda. permainan jquery tic toe "Hello World" pengaturcaraan permainan kini mempunyai versi jQuery. Kod sumber JQuery Game Composition Crazy Word Ini adalah permainan mengisi kosong, dan ia dapat menghasilkan beberapa hasil yang pelik kerana tidak mengetahui konteks perkataan. Kod sumber JQuery Mine Sweeping Game

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri?Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri?Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

JQuery Parallax Tutorial - Latar Belakang Header AnimasiJQuery Parallax Tutorial - Latar Belakang Header AnimasiMar 08, 2025 am 12:39 AM

Tutorial ini menunjukkan cara membuat kesan latar belakang paralaks yang menawan menggunakan jQuery. Kami akan membina sepanduk header dengan imej berlapis yang mewujudkan kedalaman visual yang menakjubkan. Plugin yang dikemas kini berfungsi dengan JQuery 1.6.4 dan kemudian. Muat turun

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas?Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas?Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Bermula dengan Matter.js: PengenalanBermula dengan Matter.js: PengenalanMar 08, 2025 am 12:53 AM

Matter.js adalah enjin fizik badan tegar 2D yang ditulis dalam JavaScript. Perpustakaan ini dapat membantu anda dengan mudah mensimulasikan fizik 2D dalam penyemak imbas anda. Ia menyediakan banyak ciri, seperti keupayaan untuk mencipta badan yang tegar dan menetapkan sifat fizikal seperti jisim, kawasan, atau ketumpatan. Anda juga boleh mensimulasikan pelbagai jenis perlanggaran dan daya, seperti geseran graviti. Matter.js menyokong semua pelayar arus perdana. Di samping itu, ia sesuai untuk peranti mudah alih kerana ia mengesan sentuhan dan responsif. Semua ciri-ciri ini menjadikannya bernilai masa untuk belajar menggunakan enjin, kerana ini memudahkan untuk membuat permainan atau simulasi 2D berasaskan fizik. Dalam tutorial ini, saya akan merangkumi asas -asas perpustakaan ini, termasuk pemasangan dan penggunaannya, dan menyediakan

Kandungan Div Refresh Auto Menggunakan JQuery dan AjaxKandungan Div Refresh Auto Menggunakan JQuery dan AjaxMar 08, 2025 am 12:58 AM

Artikel ini menunjukkan bagaimana untuk menyegarkan semula kandungan div secara automatik setiap 5 saat menggunakan jQuery dan Ajax. Contohnya mengambil dan memaparkan catatan blog terkini dari suapan RSS, bersama -sama dengan timestamp refresh terakhir. Imej pemuatan adalah opsyena

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod