Reactjs如何在map函数中使用ref?

2024-03-10

我正在通过数组进行映射,并为每个项目显示一个带有文本的按钮。假设我希望单击按钮时,下面的文本会将其颜色更改为红色。如何定位按钮的同级按钮?我尝试使用 ref 但由于它是映射的 jsx,因此只会声明最后一个 ref 元素。

这是我的代码:

class Exams extends React.Component {
    constructor(props) {
        super()
        this.accordionContent = null;
    }
    state = {
        examsNames: null, // fetched from a server
    }
    accordionToggle = () => {
        this.accordionContent.style.color = 'red'
    }
    render() {
        return (
            <div className="container">
                {this.state.examsNames && this.state.examsNames.map((inst, key) => (
                    <React.Fragment key={key}>
                        <button onClick={this.accordionToggle} className="inst-link"></button>
                        <div ref={accordionContent => this.accordionContent = accordionContent} className="accordionContent">
                            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aperiam, neque.</p>
                        </div>    
                    </React.Fragment>
                ))}
            </div>
        )
    }
}


export default Exams;

正如所解释的,结果是每次单击按钮时,附加到最后一个按钮的段落都将成为目标。

提前致谢


初始化this.accordionContent作为数组

constructor(props) {
    super()
    this.accordionContent =[];
}

并设置ref像这样

<div ref={accordionContent => this.accordionContent[key] = accordionContent} className="accordionContent">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Reactjs如何在map函数中使用ref? 的相关文章

随机推荐

  • Python 使用 curve_fit 拟合对数函数

    我正在尝试使用拟合对数曲线curve fit 假设如下Y a ln X b 但拟合的数据看起来仍然不正确 现在我正在使用以下代码 from scipy optimize import curve fit X 3 0 3 1 3 2 3 3
  • Python(pandas):使用多索引将数据帧存储在hdf5中

    我需要使用具有多索引的大尺寸数据框 因此我尝试创建一个数据框来学习如何将其存储在 hdf5 文件中 数据框是这样的 前2列有多重索引 Symbol Date 0 C 2014 07 21 4792 B 2014 07 21 4492 A 2
  • 由 PKCS#7 加密消息保护的 API

    我当前正在尝试调用一个 API 该 API 要求我将 XML 数据放入 PKCS 7 格式 该数据被发布到 API 端点 响应还采用 PKCS 7 加密消息的形式 MIME 类型为 application pkcs7 mime 他们提供的一
  • 列出目录中的图像(01.png)和描述(01.txt)

    如何显示目录中的图像并获取每个图像的相应描述 假设描述存在 在目录中 01 png 01 txt 02 png 03 png 03 txt etc 显示为 img src 01 png br This is the description
  • 如何在 android 中创建自定义开关,并在开关轨道两侧和拇指上显示文本?

    如何在 android 中设计自定义开关 如下图所示 当它打开时 它需要看起来像这样 我还需要在两个类别之间切换时显示切换动画效果 我怎样才能实现它 是否有可用的第三方 SDK 或库 目前我已经用自定义线性布局设计它 如下所示 my lay
  • 列表理解与元组分配

    我想问一下python中是否可以实现这样的事情 a b i i 1 for i in range 5 我知道这是不可能的 因为我有一个错误 但我认为你明白我想要实现的目标 让我澄清一下 我可以这样做 a b 3 2 3 编辑 gt 或者甚至
  • Python 大列表排序与存储

    我目前正在处理一些非常大的信息列表 50 到 1 亿个条目 其中列表中的每个项目都采用 float string 1 string 2 的形式 我以未排序的方式将元素添加到列表中 并且最终希望有一个按浮点值排序的列表 例如 我会有一个如下所
  • Azure DevOps 构建子模块

    我有一个连接到 Azure DevOps 构建管道的私有 bitbucket 存储库 私有存储库有一个连接到公共 Github 存储库的子模块 这两个存储库均通过 SSH 访问 我在 DevOps 中勾选了克隆子模块框 如何向 Azure
  • Jquery - 确保事件处理程序在处理程序链中最后执行

    有没有办法确保您附加的事件处理程序是要执行的事件处理程序链中的最后一个 我有一个通过 ajax 提交表单的事件处理程序 但稍后 在附加我的 ajax 提交处理程序后 另一个处理程序将附加到表单以执行验证逻辑 验证逻辑应该发生在 ajax 提
  • 从异步方法返回 IAsyncEnumerable

    采取以下方法 public async IAsyncEnumerable
  • '[' 标记之前应有非限定 ID

    我知道这个错误通常是语法错误 但我似乎找不到这段代码有什么问题 谁能帮我指出来吗 以下是我收到的错误 deli cc 10 7 错误 标记之前预期有不合格的 id int myCashierNums deli cc 11 7 错误 标记之前
  • Django admin list_display 使用外键时异常缓慢

    姜戈 1 2 5 蟒蛇 2 5 5 我的运动模型管理列表速度非常慢 400 条记录需要 5 分钟 它在一秒钟左右就恢复了 直到我们得到 400 场比赛 50 支球队和 2 项运动 我已经以一种糟糕的方式修复了它 所以我想看看是否有人以前见过
  • 如何在不使用 .Compile() 的情况下从 MemberExpression 获取属性值?

    我在尝试不使用 Compile 从表达式树中获取对象的值时遇到问题 该对象非常简单 var userModel new UserModel Email email protected cdn cgi l email protection 给
  • 从 .net dll 返回结构体 (C#)

    我有一个 net DLL C 它通过 TCP 从传感器接收实时 大量 数据 数据以自定义对象数组的形式出现 称之为 SensorPacket 它有大约 20 个字段 主要是浮点型和整数型 我已经通过事件将其发送到 matlab 工作正常 但
  • Whatsapp 或 telegram 等应用程序如何监听 Android 上的来电/消息事件?

    我构建了一个 VoIP 呼叫应用程序 它与服务器保持持久连接以监听任何来电 我实现了一个后台服务来做到这一点 但自从 Oreo 以来 由于引入了后台执行限制 https developer android com about version
  • Android 13 - 如何请求 WRITE_EXTERNAL_STORAGE

    我的 Android 应用程序的目标版本是 Android 13 API 33 WRITE EXTERNAL STORAGE 权限似乎在 API 33 即 Android 12 及以下版本 下运行良好 但在 Android 13 上运行应用
  • CSS - 粘性页脚[重复]

    这个问题在这里已经有答案了 这个问题似乎有很多已解决的问题 但它们似乎都不适合我 我创建了这个小 jsfiddle 来向您展示 jsfiddle 页脚 http jsfiddle net 2jn3J 还有CSS footer width 7
  • Link R闪亮select输入项打开文件actionButton

    使用 R闪亮 是否可以将 selectInput 项目链接到打开文件操作按钮 我想调整操作按钮的 onclick 参数来实现它 请在下面找到一个可重现的示例 假设 www 文件夹中有 file 1 pdf 和 file 2 pdf 如何打开
  • 忽略这些 kotlin 的 proguard 注释是否安全?

    我不明白为什么我会从混淆器那里得到这些注释 也不明白我是否必须采取任何措施来解决它们 Note kotlin internal PlatformImplementationsKt can t find dynamically referen
  • Reactjs如何在map函数中使用ref?

    我正在通过数组进行映射 并为每个项目显示一个带有文本的按钮 假设我希望单击按钮时 下面的文本会将其颜色更改为红色 如何定位按钮的同级按钮 我尝试使用 ref 但由于它是映射的 jsx 因此只会声明最后一个 ref 元素 这是我的代码 cla