cari
Rumahhujung hadapan webtutorial jsMenguasai TypeScript dengan React: Panduan Langkah demi Langkah

Mastering TypeScript with React: A Step-by-Step Guide

??‍♀️ 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 atau mengisytiharkan prop secara eksplisit. Walaupun React.FC biasa digunakan, kini ramai yang memilih jenis eksplisit.

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!

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

periksa jQuery jika tarikh sahperiksa jQuery jika tarikh sahMar 01, 2025 am 08:51 AM

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

jQuery mendapatkan padding/margin elemenjQuery mendapatkan padding/margin elemenMar 01, 2025 am 08:53 AM

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

10 Tab Accordion JQuery10 Tab Accordion JQueryMar 01, 2025 am 01:34 AM

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

10 patut diperiksa plugin jQuery10 patut diperiksa plugin jQueryMar 01, 2025 am 01:29 AM

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 Debugging dengan Node dan HTTP-ConsoleHTTP Debugging dengan Node dan HTTP-ConsoleMar 01, 2025 am 01:37 AM

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 Persediaan API Carian Google CustomTutorial Persediaan API Carian Google CustomMar 04, 2025 am 01:06 AM

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

jQuery tambah bar scroll ke divjQuery tambah bar scroll ke divMar 01, 2025 am 01:30 AM

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

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.

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual