React-devtools: Nama komponen tidak ada

Dibuat pada 3 Jan 2014  ·  9Komentar  ·  Sumber: facebook/react-devtools

Apakah ada alasan mengapa nama komponen selalu "Tidak Diketahui"?

Untuk jaga-jaga, saya menggunakan browserify dan sumber tidak diperkecil, hanya digabungkan.

Berikut tampilannya:
image

Komentar yang paling membantu

Saya menggunakan plugin chrome React Developer Tools dan ketika saya memeriksa pohon React saya melihat 'Proxy Component' alih-alih nama komponen yang sebenarnya. Mungkin masalah webpack ? Saya mencoba menambahkan 'displayName' dan itu tidak berhasil.

Adakah orang lain yang mengalami masalah ini?

Semua 9 komentar

OK, inilah pembaruan cepat: jika komponen diekspos seperti ini, itu akan memiliki Unknown sebagai nama:

exports.MyComponent = React.createClass({...});

Namun, ketika saya mengubahnya menjadi ini, itu mulai berfungsi:

var MyComponent = React.createClass({...});
exports.MyComponent = MyComponent;

Saya memeriksa kode sumber ekstensi, tetapi tidak dapat mengetahui apa itu tagName dan bagaimana cara menyetelnya.

Jika Anda tidak menggunakan BEJ, Anda perlu menambahkan atribut displayName ke kelas Anda.

var MyComponent = React.createClass({
  displayName: 'MyComponent',
  ...
});

Jika Anda menggunakan BEJ, ini dilakukan secara otomatis. Sayangnya tidak ada cara untuk mendapatkannya sebaliknya.

Ya, saya menggunakan JSX. Jadi, sepertinya ini masalah yang berbeda - kompiler JSX tidak dapat berkontribusi displayName jika komponen dideklarasikan dengan exports.ComponentName = React.createClass() .

BEJ secara teori dapat mendukung format Anda juga. Masalah ini akan hilang ketika kita pindah ke kelas ES6 atau yang serupa.

TagName adalah sesuatu yang merupakan bagian dari komponen DOM di inti React. Itu tidak memiliki nama tampilan.

Jika Anda ingin mengirim permintaan tarik, Anda dapat menambahkan format pilihan Anda di sini:

https://github.com/facebook/react/blob/ab47e992155ec9c2455b02bf671e8dd92bd01055/vendor/fbtransform/transforms/reactDisplayName.js#L37 -L51

Dimengerti, terima kasih. Manual displayName akan berfungsi untuk saat ini.

Baru saja membuat https://github.com/facebook/react/pull/799 yang seharusnya memperbaiki ini untuk semua kasus yang dapat saya pikirkan.

Saya menggunakan plugin chrome React Developer Tools dan ketika saya memeriksa pohon React saya melihat 'Proxy Component' alih-alih nama komponen yang sebenarnya. Mungkin masalah webpack ? Saya mencoba menambahkan 'displayName' dan itu tidak berhasil.

Adakah orang lain yang mengalami masalah ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

jerikson picture jerikson  ·  4Komentar

levani picture levani  ·  4Komentar

prasannavl picture prasannavl  ·  3Komentar

aganglada picture aganglada  ·  4Komentar

arghasarkar picture arghasarkar  ·  4Komentar