Apakah ada alasan mengapa nama komponen selalu "Tidak Diketahui"?
Untuk jaga-jaga, saya menggunakan browserify dan sumber tidak diperkecil, hanya digabungkan.
Berikut tampilannya:
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()
.
Ini adalah kode yang bertanggung jawab untuk itu: https://github.com/facebook/react/blob/master/vendor/fbtransform/transforms/reactDisplayName.js#L37
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:
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?
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 masalahwebpack
? Saya mencoba menambahkan 'displayName' dan itu tidak berhasil.Adakah orang lain yang mengalami masalah ini?