Panduan

Apa Itu React? Panduan Mudah untuk Bukan Pembangun

React ialah pustaka JavaScript untuk membina antara muka pengguna — bahagian app yang dilihat dan diklik oleh orang. Anda membina skrin daripada bahagian boleh guna semula yang dipanggil komponen, seperti butang, kad produk atau keseluruhan halaman, dan React memastikan skrin sentiasa selari dengan data anda: apabila data berubah, React mengemas kini bahagian halaman yang bergantung padanya. Ia dicipta di Facebook (kini Meta), bersifat sumber terbuka, dan merupakan antara cara yang paling meluas untuk membina app web.

Mengapa ia penting apabila membina dengan AI

Jika anda membina app web dengan alat AI, besar kemungkinan ia ditulis dalam React. Ramai pembina app AI menggunakan React secara lalai, kerana ia popular, didokumenkan dengan baik, dan terdapat jumlah kod React yang besar untuk model AI pelajari.

Anda tidak perlu menulis React untuk membina dengan AI. Tetapi mengetahui sedikit membantu anda:

  • Menerangkan perubahan dengan tepat. “Tukar komponen ProductCard supaya harga dicetak tebal” lebih jelas daripada “jadikan harga menonjol di suatu tempat”.
  • Memahami ralat. Mesej seperti “Cannot read properties of undefined” atau “Too many re-renders” lebih mudah difahami.
  • Membuat pilihan yang munasabah. App React biasa dipaparkan dalam pelayar, yang memberi kesan kepada keterlihatan carian dan kelajuan pemuatan pertama. Mengetahuinya membantu anda memutuskan bila perlu meminta persediaan yang berbeza.
  • Bekerja dengan pembangun kemudian. React ialah kemahiran yang biasa, jadi seorang pembangun biasanya boleh mengambil alih kod asas React dengan mudah.

Analogi harian

Bayangkan LEGO. Daripada memahat keseluruhan model daripada satu blok, anda membinanya daripada bata piawai. Beberapa bata membentuk roda; empat roda dan beberapa bahagian lain membentuk kereta. Jika anda mahu setiap kereta mempunyai roda merah, anda menukar reka bentuk roda sekali sahaja.

Komponen React ialah bata-bata itu. Komponen Button digunakan dalam ProductCard, yang digunakan dalam ProductGrid, yang merupakan sebahagian daripada ShopPage. Tukar Button sekali, dan setiap butang dalam app berubah.

Separuh lagi analogi ini: bayangkan model LEGO itu membina semula dirinya setiap kali anda menukar arahan. Itulah helah React yang satu lagi — anda menerangkan bagaimana skrin patut kelihatan untuk data semasa, dan React menentukan apa yang perlu ditukar pada halaman.

Idea utama

Komponen

Komponen ialah fungsi JavaScript yang memulangkan sekeping antara muka. Dokumentasi React menerangkan komponen sebagai sebahagian UI yang mempunyai logik dan rupanya sendiri. Nama komponen bermula dengan huruf besar.

JSX

Komponen biasanya ditulis dalam JSX, yang kelihatan seperti HTML yang dicampur dengan JavaScript:

function Greeting() {
  return <h1>Selamat kembali!</h1>;
}

JSX adalah pilihan, tetapi dokumentasi React menyatakan bahawa kebanyakan projek menggunakannya. Ia ditukar kepada JavaScript biasa sebelum dijalankan dalam pelayar.

Props

Props ialah input yang anda hantar ke dalam komponen, seperti tetapan pada bahagian boleh guna semula:

<ProductCard name="Lavender Candle" price={24} />

ProductCard yang sama boleh memaparkan mana-mana produk.

State

State ialah maklumat yang diingati oleh komponen dan boleh berubah semasa app berjalan — sama ada menu terbuka, apa yang ditaip dalam kotak carian, berapa banyak item dalam bakul. Apabila state berubah, React memaparkan semula komponen supaya skrin sepadan.

Hooks

Hooks ialah fungsi yang namanya bermula dengan use, seperti useState (mengingati nilai) dan useEffect (menjalankan kod selepas render, contohnya untuk mengambil data). Anda akan melihatnya di mana-mana dalam kod React yang dijana AI.

Contoh kerja: pembilang bakul

Katakan kedai dalam talian anda mempunyai butang “Tambah ke bakul” dan ikon bakul yang memaparkan bilangan item. Dalam React ia kelihatan kira-kira begini:

import { useState } from "react";

function Shop() {
  const [cartCount, setCartCount] = useState(0);

  return (
    <div>
      <CartIcon count={cartCount} />
      <ProductCard
        name="Lavender Candle"
        price={24}
        onAdd={() => setCartCount(cartCount + 1)}
      />
    </div>
  );
}

function CartIcon({ count }) {
  return <span>Bakul ({count})</span>;
}

function ProductCard({ name, price, onAdd }) {
  return (
    <div>
      <h2>{name}</h2>
      <p>${price}</p>
      <button onClick={onAdd}>Tambah ke bakul</button>
    </div>
  );
}

Apa yang berlaku apabila pembeli mengklik “Tambah ke bakul”:

  1. onClick pada butang memanggil onAdd, yang memanggil setCartCount.
  2. React mengemas kini state cartCount daripada 0 kepada 1.
  3. React memaparkan semula Shop, menghantar count={1} ke dalam CartIcon.
  4. Halaman kini memaparkan “Bakul (1)”. Tiada sesiapa menulis kod yang berkata “cari teks bakul dan tukarkannya” — skrin mengikut data.

Perhatikan juga hadnya. Kiraan ini tinggal dalam memori pelayar. Muat semula halaman dan ia kembali kepada 0. Untuk menyimpan bakul, anda perlu menyimpannya di tempat yang kekal — kuki, storan pelayar, atau pangkalan data melalui backend anda. React mengendalikan skrin; ia tidak menyimpan data anda.

Di mana React sesuai dalam app web

BahagianApa yang dilakukannyaPilihan biasa
Pustaka UIMembina antara mukaReact
BahasaBahasa kod ditulisJavaScript atau TypeScript
Alat binaanMenukar kod sumber kepada fail yang dimuatkan pelayar; menjalankan pelayan pembangunanVite
Rangka kerja (pilihan)Menambah penghalaan, render pelayan, pemuatan dataNext.js, React Router
GayaRupa appTailwind CSS, fail CSS
BackendLogik perniagaan, data, rahsiaNode.js, Python dan lain-lain
Pangkalan dataMenyimpan dataPostgres dan lain-lain

App “Vite + React” dipaparkan dalam pelayar (single-page app). App Next.js boleh memaparkan halaman di pelayan dahulu, yang membantu enjin carian dan kelajuan pemuatan pertama.

Istilah biasa dijelaskan

IstilahMaksud
KomponenBahagian antara muka yang boleh guna semula, ditulis sebagai fungsi.
JSXSintaks seperti HTML di dalam JavaScript yang digunakan untuk menerangkan komponen.
PropsInput yang dihantar ke dalam komponen.
StateData yang diingati oleh komponen dan boleh berubah dari masa ke masa.
HookFungsi yang bermula dengan use yang menambah ciri seperti state pada komponen.
Render / re-renderReact menentukan apa yang perlu dipaparkan pada skrin, sekali lagi selepas perubahan.
Single-page app (SPA)App yang dimuatkan sekali dan mengemas kini halaman dengan JavaScript dan bukannya memuatkan halaman baharu.
Server-side rendering (SSR)Menghasilkan HTML halaman di pelayan sebelum menghantarnya.
Pakej npmPustaka kod boleh guna semula yang boleh anda pasang, seperti pemilih tarikh atau pustaka carta.
React NativeProjek berkaitan untuk membina app mudah alih asli.

Kesilapan dan salah faham yang biasa

  • “React ialah bahasa pengaturcaraan.” Ia ialah pustaka yang ditulis dan digunakan dari JavaScript (atau TypeScript).
  • “React menyimpan data saya.” State tinggal dalam pelayar dan hilang apabila dimuat semula. Data kekal memerlukan backend dan pangkalan data.
  • Meletakkan rahsia dalam kod React. Semua yang ada dalam app React dihantar ke pelayar pelawat. Kunci API di situ bersifat awam. Simpan di pelayan.
  • “App React tidak boleh berada dalam kedudukan carian.” Pemaparan hanya di pihak klien kurang baik untuk carian, tetapi prarender atau render pelayan menyelesaikan kebanyakan masalah itu.
  • Komponen gergasi. Satu komponen 1,000 baris sukar untuk manusia dan AI ubah dengan selamat. Minta yang lebih kecil.
  • Menganggap app web React ialah app telefon. Ia berjalan dalam pelayar, termasuk pada telefon, tetapi bukan app App Store.

Apa yang patut diminta daripada pembina AI anda

  • “Pecahkan halaman ini kepada komponen kecil yang dinamakan, dan beritahu saya setiap komponen berada dalam fail yang mana.”
  • “Jadikan komponen ProductCard boleh guna semula, dengan name, price dan image sebagai props.”
  • “Simpan bakul dalam pangkalan data supaya ia kekal selepas muat semula.”
  • “Simpan semua kunci API di pelayan; kod React sepatutnya memanggil API kami sendiri.”
  • “Tambah keadaan memuatkan dan ralat untuk data yang datang dari pelayan.”
  • “Jika keterlihatan carian penting untuk halaman ini, prarenderkannya atau gunakan persediaan render pelayan.”
  • “Terangkan dalam bahasa mudah maksud ralat ini dan dari komponen mana ia datang.”

Untuk gambaran yang lebih besar, lihat frontend vs backend, dan untuk menyemak kod yang ditulis AI, lihat cara menyemak kod yang dijana AI.

React dalam Mythex

Kecuali anda meminta sesuatu yang lain, Mythex memulakan projek baharu dengan Vite + React + TypeScript + Tailwind, dengan pratonton langsung berjalan semasa anda bersembang. Anda boleh menamakan persediaan lain dalam prompt pertama anda — contohnya “Gunakan Next.js” atau “halaman arah statik HTML biasa” — dan Mythex memilihnya daripada apa yang anda tulis; tiada skrin tetapan untuknya. Halaman dokumentasi tentang cara teknologi dipilih menerangkan pilihan tersebut. Editor kod adalah baca sahaja pada pelan Percuma; pada Pro anda boleh mengedit kod React terus dan mengeksport projek untuk terus bekerja di tempat lain.

Soalan lazim

Apa itu React dalam istilah mudah?

React ialah pustaka JavaScript untuk membina antara muka pengguna. Anda membina skrin daripada bahagian boleh guna semula yang dipanggil komponen, seperti butang, kad produk atau keseluruhan halaman, dan React mengemas kini apa yang dipaparkan apabila data asas berubah.

Adakah React rangka kerja atau pustaka?

React memanggil dirinya pustaka: ia menumpukan pada membina antara muka. Rangka kerja yang dibina di atasnya, seperti Next.js, menambah perkara seperti penghalaan, render pelayan dan pemuatan data.

Mengapa pembina app AI menggunakan React?

React ialah antara cara yang paling meluas untuk membina antara muka web, jadi terdapat jumlah kod dan dokumentasi React yang sangat besar untuk model AI pelajari. Struktur komponennya juga sesuai untuk membuat perubahan kecil dan tepat.

Adakah React tidak baik untuk SEO?

Tidak secara semula jadi. App React yang memaparkan semuanya dalam pelayar lebih sukar dibaca oleh sesetengah perayap, tetapi React juga boleh diprarender atau dipaparkan di pelayan, contohnya dengan Next.js, yang menyelesaikan kebanyakan masalah itu.

Adakah React sama dengan React Native?

Tidak. React membina antara muka web yang berjalan dalam pelayar. React Native menggunakan idea yang sama untuk membina app iOS dan Android asli. Mereka berkongsi konsep tetapi bukan kebanyakan blok binaan mereka.

Mythex · Pricing · Bina apa sahaja dengan AI · Templat laman web dan aplikasi · Mythex dibandingkan · Glosari pembinaan aplikasi AI · Alat percuma untuk membina aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)