reactjs - TypeError: Ei voi lukea ominaisuutta 'forEach' määrittelemättömästä jest
Koen tämän virheen testisarjani suorituksessa käyttäen jestiä, vaikka se toimii sellaisenaan Reactin käännöksessä. Katso virhe- ja koodin kuvakaappaus alla.
Vastaus #1
Voit käyttää ehdollista ketjutusta tarkistaaksesi, onko data.tags ei tyhjä ja onko forEach-metodi olemassa tags-ominaisuudessa virheiden välttämiseksi. Mutta varmista, että annat oikeat tiedot.
const tags:any = [];
data.tags?.forEach?.((tag: Tag) => {
tags.push({ label: tag.label, value: tag.value})
}
Vastaus #2
Olet testaamassa !== null, mutta sinun data-objektillasi ei ole ominaisuutta tags (ja react/typescript ei tiedä tätä). Joten sinun data.tags arvioidaan arvoon undefined.
if(data.tags !== null && data.tags !== undefined) {tai
if(data.tags) {toimisi.
