React.js中如何在迴圈中傳遞資料給onclick函數?
P粉523335026
2023-08-30 19:26:23
<p>首先,我會放入程式碼。 </p>
<pre class="brush:php;toolbar:false;">{gameModes.map((gameMode, key) => {
return (
<>
<div className={styles.gameMode} key={key} onClick={gameModeHandler}>
<div className={styles.gameModeContent}>
<img src={gameMode.gameModeArtwork} alt="" />
<p className={styles.modeTitle}>{gameMode.gameModeTitle}</p>
<p className={styles.modeDesc}>
{gameMode.gameModeDesc}
</p>
</div>
</div>
</>
);
})}</pre>
<p><strong>onClick函式</strong></p>
<pre class="brush:php;toolbar:false;">const gameModeHandler = (e) => {
console.log(e.target.value)
}</pre>
<p>基本上,我想要的是,當onClick生效時,將gameMode.title傳遞給onClick函數以將其列印到控制台。我不知道如何以一種可以在循環中存取該資料的方式將onClick傳遞。 </p>
你需要一個第二個函數來傳遞資料:
onClick={() => gameModeHandler(gameMode.title)}
。您需要為您的onClick事件使用回呼函數。並相應調整您的函數;
onClick事件
#onClick函數
#然而,如果您希望將循環中的單一物件傳遞給呼叫的函數,您可以將gameMode物件作為參數傳遞給gameModeHandler函數;
onClick事件
#onClick函數
#顯然,您隨後可以從物件中提取gameModeTitle;