React.js中如何在循环中传递数据给onclick函数?
P粉523335026
P粉523335026 2023-08-30 19:26:23
[React讨论组]

首先,我会放入代码。

{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>
              </>
            );
          })}

onClick函数

const gameModeHandler = (e) => {
    console.log(e.target.value)
  }

基本上,我想要的是,当onClick生效时,将gameMode.title传递给onClick函数以将其打印到控制台。我不知道如何以一种可以在循环中访问该数据的方式将onClick传递。

P粉523335026
P粉523335026

全部回复(2)
P粉320361201

你需要一个第二个函数来传递数据:onClick={() => gameModeHandler(gameMode.title)}

P粉959676410

您需要为您的onClick事件使用回调函数。并相应调整您的函数;

onClick事件

onClick={()=>gameModeHandler(gameMode.gameModeTitle)}

onClick函数

const gameModeHandler = (gameModeTitle) => {
    console.log(gameModeTitle)
  }

然而,如果您希望将循环中的单个对象传递给调用的函数,您可以将gameMode对象作为参数传递给gameModeHandler函数;

onClick事件

onClick={()=>gameModeHandler(gameMode)}

onClick函数

const gameModeHandler = (gameMode) => {
    console.log(gameMode)
  }

显然,您随后可以从对象中提取gameModeTitle;

console.log(gameMode.gameModeTitle)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号