Tajuk ditulis semula sebagai: Walau apa pun, saya tidak boleh mendapatkan nilai daripada tatasusunan saya
P粉308783585
2023-08-18 15:22:01
<p>Saya cuba memaparkan data daripada tatasusunan dalam komponen React saya. </p>
<p>Saya boleh melihat data yang saya perlukan dalam konsol pembangun penyemak imbas melalui <code>console.log()</code>: </p>
<pre class="brush:php;toolbar:false;">FinalRecords.js::recordTitle: (4)
0: {ahli: Array(10), id: 62, tajuk: 'RR 1980 Record 1', storeId: 1088}
1: {ahli: Array(10), id: 63, tajuk: 'RR 1980 Record 2', storeId: 1088}
2: {ahli: Array(10), id: 64, tajuk: 'RR 1980 Record 3', storeId: 1088}
3: {ahli: Array(10), id: 65, tajuk: 'RR 1980 Record 4', storeId: 1088}
panjang: 4
[[Prototaip]]: Tatasusunan(0)</pre>
<p>Tetapi saya seperti tidak dapat memikirkan cara untuk mendapatkan <kod>tajuk</kod>. </p>
<p>Saya telah mencuba banyak perkara yang berbeza, yang ini adalah yang paling terkini: </p>
<pre class="brush:php;toolbar:false;">render() {
const { recordId, records, bandName } = this.props;
var data = records.filter((r) => r.id === recordId);
var rekod = data.toArray();
console.log("FinalRecords.js :: recordTitle: ", rekod);
kembalikan <div> rekod - {findRecordTitle(records, recordId) } - {bandName ||.
}
}
function findRecordTitle(rekod, id) {
kembalikan rekod.cari((rekod) => {
kembalikan rekod.id === id;
})
}</pre>
<p>Saya perlu mendapatkan <kod>tajuk</kod> rekod dengan menggunakan <kod>id</kod>. </p>
<p>Tetapi ia sentiasa kosong. </p>
<p>Adakah saya melakukan sesuatu yang salah? </p>
Nama fungsi ini bermakna anda mengharapkan ia mengembalikan "tajuk" (yang saya akan tafsirkan sebagai nilai rentetan):
Namun, tiada kaitan dalam fungsi ini dengan "tajuk". Ia mengembalikan atribut
records
数组中的一个匹配对象(或null
)。如果你只想返回该对象的title
, hanya mengembalikan atribut ini:EDIT: Jika persekitaran JavaScript anda tidak berfungsi dengan perantaian pilihan, anda boleh menyemak
null
secara eksplisit sebelum cuba menggunakan objek:Atau ia boleh lalai kepada rentetan kosong dan bukannya
null
dsb.