Freecodecamp: [Beta] Pelajari Tentang Tag JSX yang Menutup Sendiri

Dibuat pada 13 Feb 2018  ·  4Komentar  ·  Sumber: freeCodeCamp/freeCodeCamp



Nama Tantangan

Pelajari Tentang Tag JSX yang Menutup Sendiri

Deskripsi masalah


Menghapus komentar dan menutup tag (melewatkan tag br pada upaya pertama gagal kemudian diperbaiki) dan kemudian upaya gagal tetapi kemudian item dirender pada halaman.

Gagal berasal dari: Elemen JSX yang disediakan harus dirender apa adanya ke simpul DOM dengan id simpul tantangan.
Item telah dirender di pratinjau saat menerima kesalahan ini.
Tampaknya itu dirender bukan dengan id challenge-node melainkan id root.

Kode yang ditambahkan: ReactDOM.render(JSX, document.getElementById('challenge-node'));
Tes lulus dan sekarang ditampilkan dua kali pada pratinjau.

Tantangan tersebut menyatakan:

Perbaiki kesalahan di editor kode sehingga menjadi JSX yang valid dan berhasil transparan. Pastikan Anda tidak mengubah konten apa pun - Anda hanya perlu menutup tag jika diperlukan.

Itu tidak menyebutkan perlu melampirkannya ke DOM dan sepertinya menunjukkan Anda hanya perlu menyesuaikan pemutusan garis dan garis horizontal.

Larutan:
Perlu menambahkan petunjuk untuk merender ke DOM dan menghapus pratinjau saat ini.
Atau perlu menyesuaikan pratinjau agar keluar dari challenge-node, bukan root id.
Atau ada solusi lain yang saat ini tidak dapat saya pikirkan.

Kode Anda

Failed:
const JSX = (
  <div>
    <h2>Welcome to React!</h2><br />
    <p>Be sure to close all tags!</p>
    <hr />
  </div>
);

Passed: 
const JSX = (
  <div>
    <h2>Welcome to React!</h2><br />
    <p>Be sure to close all tags!</p>
    <hr />
  </div>
);
ReactDOM.render(JSX, document.getElementById('challenge-node'));

help wanted learn

Semua 4 komentar

Terima kasih telah melaporkan masalah tersebut! Saya tidak percaya kita harus menambahkan arah untuk merender komponen ke DOM.

Ini akan menjadi tidak konsisten dengan perilaku semua tantangan elemen DOM React lainnya. Misalnya, dalam tantangan sebelumnya, Tentukan Kelas HTML di JSX , tidak perlu ReactDOM.render untuk lulus tantangan.

@TJBarrettJR alasan mengapa menambahkan ReactDOM.render ke editor kode merender komponen dua kali adalah karena cara kode unggulan dirender di freeCodeCamp. File memiliki kode "body" dan kode "tail". Ekor ditambahkan ke kode pengguna dan biasanya berisi baris ReactDOM.render , sehingga menghasilkan dua render.

Garis render (diperlihatkan di bawah) saat ini dimasukkan dalam benih sebagai solusi.

ReactDOM.render(JSX, document.getElementById('challenge-node'));

Itu juga diuji. Saya hanya akan membuka PR memodifikasi solusi dan menghapus tes.

Ini menarik — challenge-node id dicadangkan untuk latihan yang merender Elemen HTML ke DOM; Saya tidak yakin bagaimana itu berakhir di file seed.

Saya telah memeriksa ReactDOM.render[ing] tidak perlu ini di tantangan React lainnya; tidak ada yang lain.

@ jkao1 yang masuk akal mengapa ini di-render dua kali, terima kasih!

Sejauh ini saya belum melihat sesuatu yang luar biasa dengan tantangan lain, tetapi saya masih mengatasinya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat