React JSX

Apa itu JSX?

JSX adalah singkatan dari JavaScript XML.

JSX memungkinkan kita untuk menulis HTML di React JS.

JSX membuat lebih mudah untuk menulis dan menambahkan HTML di React JS.

Kode JSX

JSX memungkinkan kita untuk menulis elemen HTML dalam JavaScript dan menempatkannya di DOM tanpa ada createElement()  dan atau metode appendChild().

JSX dapat mengubah tag HTML menjadi elemen React.

Kamu tidak harus menggunakan JSX, tetapi JSX dapat membuat lebih mudah untuk menulis aplikasi React.

Mari kita tunjukkan dengan dua contoh, yang pertama menggunakan JSX dan yang kedua tidakmenggunakan JSX:

Contoh 1

JSX:

const myelement = <h1>I Love JSX!</h1>;
 
ReactDOM.render(myelement, document.getElementById('root'));

Contoh 2

Tanpa JSX:

const myelement = React.createElement('h1', {}, 'I do not use JSX!');
 
ReactDOM.render(myelement, document.getElementById('root'));

Seperti yang kamu lihat pada contoh pertama, JSX memungkinkan kamu untuk menulis HTML secara langsung dalam kode JavaScript.

JSX adalah perpanjangan dari bahasa JavaScript berdasarkan ES6, dan diterjemahkan ke dalam JavaScript reguler pada saat runtime.

Pernyataan di JSX

Dengan JSX, kamu dapat menulis pernyataan di dalam kurung kurawal { }.

Pernyataan dapat berupa variabel React, atau properti, atau pernyataan JavaScript lain yang valid. JSX akan menjalankan pernyataan dan mengembalikan hasilnya:

Contoh

Jalankan pernyataan  5 + 5:

const myelement = <h1>React is {5 + 5} times better with JSX</h1>;
Memasukkan Blok Besar ke HTML

Untuk menulis HTML pada beberapa baris, letakkan HTML di dalam tanda kurung:

Contoh

Membuat daftar dengan tiga item daftar:

const myelement = (
  <ul>
    <li>Apples</li>
    <li>Bananas</li>
    <li>Cherries</li>
  </ul>
);
Satu Elemen Tingkat Atas

Kode HTML harus dibungkus dengan SATU elemen tingkat atas.

Jadi, jika Kamu ingin menulis dua header, kamu harus meletakkannya di dalam elemen induk, seperti sebuah elemen div

Contoh

Bungkus dua header di dalam satu elemen DIV:

const myelement = (
  <div>
    <h1>I am a Header.</h1>
    <h1>I am a Header too.</h1>
  </div>
);

JSX akan menampilkan kesalahan jika HTML tidak benar, atau jika HTML melewatkan elemen induk.

Elemen Harus Ditutup

JSX mengikuti aturan XML, dan karenanya elemen HTML harus ditutup dengan benar.

Contoh

Tutup elemen kosong dengan />

const myelement = <input type="text" />;

JSX akan menampilkan kesalahan jika HTML tidak ditutup dengan benar.