我總是從“handleClickVideo”中的 console.log 中得到未定義的信息。如何正確地獲取點擊視頻的價值?我也嘗試過使用 div,但是 div 沒有 value 屬性。我以為 Img 做到了。const Videos = ({ videos }) => {const handleClickVideo = (event) => { console.log(event.target.value)}return ( <> <h2 className="title is-5">Videos</h2> <div className="columns is-multiline"> <VideoModal videoOpen={videoOpen} setVideoClose={handleClickVideo} /> { videos.map((video, key) => { return ( <div className="column is-one-third"> <div className={styles.thumbnail}> <Img src={`https://img.youtube.com/vi/${video.link}/0.jpg`} onClick={handleClickVideo} value={video.link}/> </div> <p className={styles.videoTitle}>Green Book Official Trailer</p> </div> ) }) } </div> </> )}
1 回答

繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
您正在撥打handleClickVideo電話VideoModal,但VideoModal沒有任何value,因此它將出現undefined在您的回調中
<VideoModal
videoOpen={videoOpen}
setVideoClose={handleClickVideo}
/>
您可以使回調函數接受一個值:
const handleClickVideo = (video) => {
console.log(video)
}
然后更新你的渲染函數:
<VideoModal
videoOpen={videoOpen}
setVideoClose={() => handleClickVideo(0)}
/>
<Img
src={`https://img.youtube.com/vi/${video.link}/0.jpg`}
onClick={()=>handleClickVideo(video.link)}
/>
- 1 回答
- 0 關注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消