React JSX

JSX là gì? JSX là viết tắt của JavaScript XML, nó cho phép chúng ta viết HTML trong React. JSX giúp viết và thêm HTML trong React dễ dàng hơn JSX cho phép chúng ta viết các phần tử HTML bằng JavaScript và đặt chúng trong DOM mà không cần bất kỳ phương thức createElement

JSX là gì?

  • JSX là viết tắt của JavaScript XML, nó cho phép chúng ta viết HTML trong React.
  • JSX giúp viết và thêm HTML trong React dễ dàng hơn
  • JSX cho phép chúng ta viết các phần tử HTML bằng JavaScript và đặt chúng trong DOM mà không cần bất kỳ phương thức createElement () và / hoặc appendChild () nào.
  • JSX là một phần mở rộng của ngôn ngữ JavaScript dựa trên ES6 và được dịch sang JavaScript thông thường trong thời gian chạy
  • Bạn không bắt buộc phải sử dụng JSX

Ví dụ về sử dụng và không sử dụng JSX:

// Có JSX// index.jsimport React from'react';import ReactDOM from'react-dom/client';const myelement =<p>Đẹp trai là một tội ác thì toàn bộ zai bách khoa phải đi tù!</p>;

ReactDOM.render(myelement, document.getElementById('root'));
// Không có JSX// index.jsimport React from'react';import ReactDOM from'react-dom/client';const myelement = React.createElement('p',{},'Đẹp trai là một tội ác thì toàn bộ zai bách khoa phải đi tù!');

ReactDOM.render(myelement, document.getElementById('root'));
  • Hãy so sánh 2 đoạn code, dễ thấy code sử dụng JSX đơn giản, dễ hiểu hơn.

Một số quy ước trong JSX

  • Đặt tên trong JSX

    • tên thẻ luôn viết thường
    • tên các React component phải viết hoa chữ cái đầu
    • sử dụng className và htmlFor thay thế cho class và for
    • Các thuộc tính trong thẻ phải được viết dưới dạng camelCase (vd: onClick, className,…)
  • Với JSX, bạn có thể viết các biểu thức bên trong dấu ngoặc nhọn {}

const apple =30;const myelement =<h1>Có {apple} quả táo</h1>const myelement =<h1>Có {30+10} quả táo</h1>
  • Để viết HTML trên nhiều dòng, hãy đặt HTML bên trong dấu ngoặc đơn và đồng thời luôn có một thẻ mẹ bao quanh tất cả.
const myelement =(<div><p>Đoạn văn thứ nhất</p><p>Đoạn văn thứ hai</p></div>)
  • Nhưng nếu bạn chỉ muốn có 2 thẻ p mà không cần thẻ div bao quanh thì có thể làm như sau.
const myelement =(<><p>Đoạn văn thứ nhất</p><p>Đoạn văn thứ hai</p></>)
  • Hoặc
const myelement =(<fragment><p>Đoạn văn thứ nhất</p><p>Đoạn văn thứ hai</p></fragment>)
  • Thêm class cho các thẻ trong JSX.
const myelement =<p className="par1">Đoạn văn thứ nhất</p>
  • Thêm thuộc tính cho các thẻ trong JSX như trong html.
const myelement =<input type="text" value="" size="10"/>
  • Thêm event cho các thẻ trong JSX như trong html.
const myelement =<button onClick={functionHandle}>Click here!</button>

Trên đây là những gì mình hiểu về JSX, nếu bạn có ý kiến, thắc mắc hay bổ sung gì hãy comment cho mình biết nhé!

Cảm ơn vì đã đọc đến đây!!!

Nguồn: viblo.asia

Bài viết liên quan

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th