Tajuk ditulis semula sebagai: Walau apa pun, saya tidak boleh mendapatkan nilai daripada tatasusunan saya
P粉308783585
P粉308783585 2023-08-18 15:22:01
0
1
550
<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>
P粉308783585
P粉308783585

membalas semua(1)
P粉343408929

Nama fungsi ini bermakna anda mengharapkan ia mengembalikan "tajuk" (yang saya akan tafsirkan sebagai nilai rentetan):

function findRecordTitle(records, id) {
    return records.find((record) => {
        return record.id === id;
    })
}

Namun, tiada kaitan dalam fungsi ini dengan "tajuk". Ia mengembalikan atribut records数组中的一个匹配对象(或null)。如果你只想返回该对象的title, hanya mengembalikan atribut ini:

function findRecordTitle(records, id) {
    return records.find((record) => {
        return record.id === id;
    })?.title; // <--- 这里
}

EDIT: Jika persekitaran JavaScript anda tidak berfungsi dengan perantaian pilihan, anda boleh menyemak null secara eksplisit sebelum cuba menggunakan objek:

function findRecordTitle(records, id) {
    const record = records.find((record) => {
        return record.id === id;
    });
    return record ? record.title : null;
}

Atau ia boleh lalai kepada rentetan kosong dan bukannya null dsb.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!