Rumah >hujung hadapan web >tutorial js >Mengapa saya mendapat \'Elemen JSX bersebelahan mesti dibalut dengan teg yang disertakan?\'

Mengapa saya mendapat \'Elemen JSX bersebelahan mesti dibalut dengan teg yang disertakan?\'

Patricia Arquette
Patricia Arquetteasal
2024-11-02 18:07:29351semak imbas

Why do I get

Elemen JSX Bersebelahan Mesti Disertakan

Apabila cuba membuat komponen secara bersyarat berdasarkan pembolehubah keadaan, adalah penting untuk mematuhi peraturan bahawa elemen JSX bersebelahan mesti dibalut dalam teg yang disertakan. Keperluan ini memastikan kesahihan pepohon komponen React.

Isu ini timbul apabila anda menggunakan penyataan if untuk memaparkan elemen secara bersyarat tanpa melampirkannya dengan betul. Sebagai contoh, dalam kod anda:

if(this.state.submitted==false) {
  // ...
}

Ini mengakibatkan ralat penghuraian "Elemen JSX bersebelahan mesti dibalut dengan teg yang disertakan." Untuk menyelesaikan masalah ini, anda mesti membalut elemen bersyarat dalam teg induk yang sesuai, seperti

:

if(this.state.submitted==false) {
  return (
    <div>
      {/* Conditional content here */}
    </div>
  );
}

Sebagai alternatif, jika anda ingin memaparkan serpihan tanpa lapisan pembalut tambahan, anda boleh memanfaatkan API Fragmen yang diperkenalkan dalam React 16.2:

return (
  <>
    {/* Conditional content here */}
  </>
);

Sintaks ini membolehkan anda mengumpulkan elemen JSX tanpa memperkenalkan nod DOM tambahan.

Atas ialah kandungan terperinci Mengapa saya mendapat \'Elemen JSX bersebelahan mesti dibalut dengan teg yang disertakan?\'. 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