React telah merevolusikan cara kami membina antara muka pengguna. Panduan ini akan membimbing anda melalui konsep React yang penting, membantu anda memahami cara mencipta aplikasi yang dinamik, cekap dan boleh diselenggara.
JSX dan Nilai Dinamik
Salah satu kekuatan teras React ialah JSX, yang membolehkan anda menggunakan nilai JavaScript dinamik dalam markup anda. Anda boleh memaparkan data terus menggunakan pendakap kerinting {}, menjadikan atribut dinamik dan juga elemen gaya menggunakan objek JavaScript.
jsxCopyconst name = "John"; const element = <h1 style={{color: 'blue'}}>Hello, {name}</h1>;
Komponen dan Serpihan
Dalam React, komponen ialah bahan binaan UI anda. Walau bagaimanapun, komponen hanya boleh mengembalikan elemen induk tunggal. Untuk mengelakkan penambahan elemen DOM yang tidak perlu, anda boleh menggunakan React Fragments:
jsxCopyreturn ( <> <ChildComponent1 /> <ChildComponent2 /> </> );
Prop dan Aliran Data
Props membolehkan anda menghantar data antara komponen. Ia seperti atribut tersuai yang boleh anda tambahkan pada mana-mana komponen:
jsxCopyfunction Greeting(props) { return <h1>Hello, {props.name}</h1>; } <Greeting name="Alice" />
Prop kanak-kanak adalah istimewa, membolehkan anda menghantar komponen sebagai prop kepada komponen lain, yang bagus untuk gubahan dan mencipta komponen reka letak.
Kunci dalam Senarai
Apabila memaparkan senarai dalam React, setiap item harus mempunyai prop kunci yang unik. Ini membantu React mengenal pasti item yang telah diubah, ditambah atau dialih keluar:
jsxCopyconst listItems = items.map((item) => <li key={item.id}>{item.name}</li> );
Rendering dan DOM Maya
React menggunakan DOM Maya untuk mengemas kini UI dengan cekap. Apabila keadaan apl anda berubah, React mengemas kini DOM Maya, membandingkannya dengan versi sebelumnya (berbeza), dan kemudian mengemas kini DOM sebenar hanya jika perlu (rekonsiliasi).
Pengendalian Acara
React menyediakan cara mudah untuk mengendalikan acara pengguna:
jsxCopyfunction handleClick() { alert('Button clicked!'); } <button onClick={handleClick}>Click me</button>
Pengurusan Negeri
Keadaan mewakili data dalam apl anda yang boleh berubah dari semasa ke semasa. Dalam komponen fungsi, anda boleh menggunakan cangkuk useState untuk mengurus keadaan:
jsxCopyconst [count, setCount] = useState(0); <button onClick={() => setCount(count + 1)}> Clicks: {count} </button>
Komponen Terkawal
Dalam komponen terkawal, data borang dikendalikan oleh keadaan React:
jsxCopyconst [value, setValue] = useState(''); <input value={value} onChange={(e) => setValue(e.target.value)} />
Cangkuk Bertindak Balas
Cangkuk membolehkan anda menggunakan keadaan dan ciri React lain dalam komponen fungsi. Beberapa cangkuk penting termasuk:
useState untuk mengurus keadaan
gunakanKesan untuk kesan sampingan
gunakanKonteks untuk menggunakan konteks
useRef untuk merujuk elemen DOM
useMemo dan useCallback untuk pengoptimuman prestasi
Komponen Tulen
Komponen tindak balas haruslah fungsi tulen prop dan keadaannya. Mereka tidak seharusnya mengubah suai pembolehubah luaran atau objek yang wujud sebelum pemaparan.
Kesan Sampingan dengan useEffect
Cangkuk useEffect membolehkan anda melakukan kesan sampingan dalam komponen fungsi:
jsxCopyuseEffect(() => { document.title = `You clicked ${count} times`; }, [count]);
Rujuk dan DOM
Rujukan menyediakan cara untuk mengakses nod DOM atau elemen React:
jsxCopyconst inputRef = useRef(null); <input ref={inputRef} />
Konteks untuk Penghantaran Data Dalam
Konteks menyediakan cara untuk menghantar data melalui pepohon komponen tanpa perlu menurunkan props secara manual pada setiap peringkat:
jsxCopyconst ThemeContext = React.createContext('light'); function App() { return ( <ThemeContext.Provider value="dark"> <ThemedButton /> </ThemeContext.Provider> ); }
Portal, Suspens dan Sempadan Ralat
Portal membolehkan anda menjadikan komponen ke bahagian lain pepohon DOM.
Suspens membolehkan anda menentukan kandungan sandaran semasa komponen sedang dimuatkan.
Sempadan Ralat ialah komponen yang menangkap ralat JavaScript di mana-mana dalam pepohon komponen anak mereka dan memaparkan UI sandaran.
Dengan menguasai konsep ini, anda akan berjaya menjadi pembangun React yang mahir. Ingat, amalan adalah kunci untuk mengukuhkan pemahaman anda tentang prinsip ini.
Atas ialah kandungan terperinci Konsep Tindak Balas Teras Setiap Pembangun Perlu Tahu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!