You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React/Next.js中如何为轮播图首个幻灯片条件添加active类

为轮播图第一个幻灯片添加active类的实现方案

方案一:依赖数据项的id判断(适用于第一个项id确定为1的场景)

你当前的条件判断逻辑是可行的,只需把这段代码放到map循环中即可,完整示例如下:

{posts.map((post) => (
  <div 
    key={post.id}
    className={`carousel-item ${post.id === 1 ? 'active' : ''}`}
  >
    <img src="img/blog-slider.png" className="d-block w-100" alt={post.title} />
    <div className="carousel-caption d-md-block">
      <h5>{post.title}</h5>
      <p>{post.content}</p>
    </div>
  </div>
))}

方案二:依赖map循环的索引判断(更通用的场景)

如果数据的id不一定从1开始,或者第一个项的id不确定是1,推荐使用map的第二个参数index来判断——索引从0开始,第一个元素的索引必然是0,能更稳妥地命中第一个幻灯片:

{posts.map((post, index) => (
  <div 
    key={post.id}
    className={`carousel-item ${index === 0 ? 'active' : ''}`}
  >
    <img src="img/blog-slider.png" className="d-block w-100" alt={post.title} />
    <div className="carousel-caption d-md-block">
      <h5>{post.title}</h5>
      <p>{post.content}</p>
    </div>
  </div>
))}

注意:React列表渲染时必须给每个循环项添加唯一的key属性,这里使用post.id作为key是合理的选择。

内容的提问来源于stack exchange,提问作者amit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:20:20