【发布时间】:2020-12-06 15:45:26
【问题描述】:
大家好,我是 react js 的新手,它一直说 TypeError: Cannot read property 'map' of undefined in react.js, 即使它不是未定义的。
//my variables
const [musics, setMusics] = useState()
const [user, setUser] = useState(null)
const [pfp, setPfp] = useState(null)
const { params: { uID } } = match;
var userName;
var musicArray = [];
//use effect so it does not infinite loop
useEffect(()=>{ firebase.database().ref("users/"+uID+"/public/songs/").on("value", (snapshot)=>{
var music = snapshot.val()
//gets title of each songs
Object.values(music).forEach((value)=>{
musicArray.push(value.title)//pushes value to array
setMusics(musicArray)//sets that array to musics
})
})
}, [])
return(
.....
<div class = "music-content-container">
<div class = "music-box">
<div class = "user-musics">
<ul>
//says TypeError: Cannot read property 'map' of undefined even tho its defined
{musics.map((name)=>{
return <li>{name}</li>
})}
</ul>
</div>
</div>
</div>
</div>
.....
)
我该如何解决这个问题?有没有办法解决这个问题?
【问题讨论】:
-
与stackoverflow.com/questions/65167643/… 重复,已经有正确答案
标签: javascript reactjs firebase firebase-realtime-database rxjs