??♀️ Pengenalan
TypeScript menambahkan penaipan statik pada JavaScript, yang membantu menangkap potensi pepijat sebelum ia dijalankan. Apabila dipasangkan dengan React, TypeScript meningkatkan komponen anda dengan menguatkuasakan keselamatan jenis. Dalam artikel ini, kami akan membincangkan konsep penting untuk menggunakan TypeScript dengan React.
⚛️ Bagaimana untuk Menggunakan TypeScript dengan React?
Pertama, anda perlu memasang TypeScript dalam projek React. Jika anda bermula dari awal, buat apl React baharu dengan TypeScript didayakan:
npx create-react-app my-app --template typescript
Untuk projek sedia ada, anda boleh menambah TypeScript dengan menjalankan:
npm install typescript @types/react @types/react-dom
Kini, anda boleh mula menggunakan fail .tsx dan bukannya .js atau .jsx, dan komponen React anda akan mendapat manfaat daripada ciri TypeScript.
Jenis untuk Props Komponen React
Apabila anda mentakrifkan komponen dalam React, anda boleh menentukan jenis propnya untuk menjadikan penggunaan komponen itu lebih jelas dan selamat. Berikut ialah contoh asas:
type UserProps = { name: string; age: number; }; const UserCard = ({ name, age }: UserProps) => ( <div> <h1 id="name">{name}</h1> <p>{age} years old</p> </div> );
Dalam contoh ini, UserCard menjangkakan dua prop: nama (rentetan) dan umur (nombor). Jika anda cuba menghantar jenis yang salah, TypeScript akan menunjukkan ralat.
ReactNode Vs ReactElement
Anda mungkin tertanya-tanya bila hendak menggunakan ReactNode atau ReactElement untuk menaip komponen React.
ReactNode: Mewakili apa sahaja yang boleh dipaparkan oleh React. Ini termasuk rentetan, nombor, JSX, tatasusunan dan nol.
ReactElement: Merujuk kepada elemen React sebenar, yang lebih khusus dan tidak meliputi rentetan atau null.
Contoh:
type CardProps = { children: ReactNode; }; const Card = ({ children }: CardProps) => <div>{children}</div>; // Usage <card><p>Hello, World!</p></card>
ReactNode digunakan di sini kerana kanak-kanak boleh menjadi mana-mana elemen yang boleh ditukar, bukan sekadar elemen React.
Jenis Vs Antara Muka
Apabila menentukan bentuk prop atau objek lain, kedua-dua jenis dan antara muka boleh digunakan. Jadi, apa bezanya?
- Jenis: Terbaik untuk mencipta jenis kesatuan atau gabungan yang lebih kompleks.
- Antaramuka: Selalunya lebih baik apabila anda merancang untuk melanjutkan atau melaksanakan jenis tambahan.
Berikut ialah perbandingan:
// Using type type ButtonProps = { label: string; onClick: () => void; }; // Using interface interface LinkProps { href: string; openInNewTab?: boolean; }
Walaupun kedua-duanya serupa, antara muka boleh dilanjutkan dengan lebih semula jadi:
interface IconButtonProps extends ButtonProps { icon: string; }
Bagaimana untuk Menaip Props dengan TypeScript?
Untuk menaip prop bagi komponen, isytiharkan jenis atau antara muka dan hantarkannya sebagai anotasi jenis untuk prop komponen.
Contoh:
type AlertProps = { message: string; severity: 'error' | 'warning' | 'info'; }; const Alert = ({ message, severity }: AlertProps) => ( <div classname="{`alert">{message}</div> );
Bagaimana untuk Menaip Props Komponen Berfungsi?
Untuk menaip prop komponen berfungsi, anda boleh menggunakan React.FC
Berikut ialah contoh menggunakan jenis eksplisit:
type BadgeProps = { text: string; color: string; }; const Badge = ({ text, color }: BadgeProps) => ( <span style="{{" backgroundcolor: color>{text}</span> );
Dalam contoh ini, Lencana mempunyai dua prop, teks dan warna, kedua-duanya ditaip sebagai rentetan.
⛓ React Hooks dengan TypeScript
Cakuk tindak balas juga boleh ditaip dalam TypeScript untuk memastikan keselamatan taip untuk keadaan dan kesan logik dalam komponen anda.
Berikut ialah cara menggunakan useState dan useEffect dengan TypeScript:
import { useState, useEffect } from 'react'; const Counter = () => { const [count, setCount] = useState<number>(0); useEffect(() => { console.log(`Count is: ${count}`); }, [count]); return ( <div> <button onclick="{()"> setCount(count + 1)}>Increment</button> <p>Count: {count}</p> </div> ); }; </number>
Dalam contoh ini, cangkuk useState ditaip untuk memastikan kiraan sentiasa nombor dan useEffect merekodkan kiraan semasa apabila ia berubah.
Dengan mengikuti amalan terbaik ini, anda akan dapat memanfaatkan potensi penuh TypeScript dalam aplikasi React anda, yang membawa kepada kod yang lebih mantap dan boleh diselenggara.
Dan sebelum anda pergi, jika anda juga bekerja dengan SQL, lihat Lembaran Cheat Ultimate SQL kami untuk meningkatkan kemahiran SQL anda dengan pertanyaan asas dan lanjutan!
Atas ialah kandungan terperinci Menguasai TypeScript dengan React: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Fungsi JavaScript mudah digunakan untuk memeriksa sama ada tarikh sah. fungsi isvaliddate (s) { var bits = s.split ('/'); var d = tarikh baru (bit [2] '/' bits [1] '/' bits [0]); kembali !! (d && (d.getmonth () 1) == bit [1] && d.getdate () == nombor (bit [0])); } // ujian var

Artikel ini membincangkan cara menggunakan jQuery untuk mendapatkan dan menetapkan margin dalaman dan nilai margin elemen DOM, terutama lokasi tertentu margin luar dan margin dalaman elemen. Walaupun ada kemungkinan untuk menetapkan margin dalaman dan luar elemen menggunakan CSS, nilai yang tepat boleh menjadi rumit. // Sediakan $ ("div.header"). css ("margin", "10px"); $ ("div.header"). css ("padding", "10px"); Anda mungkin menganggap kod ini

Artikel ini meneroka sepuluh tab jQuery yang luar biasa dan akordion. Perbezaan utama antara tab dan akordion terletak pada bagaimana panel kandungan mereka dipaparkan dan tersembunyi. Mari kita menyelidiki sepuluh contoh ini. Artikel Berkaitan: 10 JQuery Tab Plugin

Temui sepuluh plugin jQuery yang luar biasa untuk meningkatkan dinamisme dan daya tarikan visual laman web anda! Koleksi ini menawarkan pelbagai fungsi, dari animasi imej ke galeri interaktif. Mari kita meneroka alat yang berkuasa ini: Posting Berkaitan: 1

HTTP-CONSOLE adalah modul nod yang memberi anda antara muka baris arahan untuk melaksanakan arahan HTTP. Ia bagus untuk menyahpepijat dan melihat apa yang sedang berlaku dengan permintaan HTTP anda, tanpa mengira sama ada mereka dibuat terhadap pelayan web, Serv Web

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

Coretan kod jQuery berikut boleh digunakan untuk menambah bar skrol apabila kandungan div melebihi kawasan elemen kontena. (Tiada demonstrasi, sila salin terus ke Firebug) // d = dokumen // w = tetingkap // $ = jQuery var contentArea = $ (ini), Wintop = contentArea.scrollTop (), docheight = $ (d) .height (), winheight = $ (w) .height (), Divheight = $ ('#c


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Dreamweaver Mac版
Alat pembangunan web visual
