【问题标题】:How to sequentially display items list with React如何使用 React 顺序显示项目列表
【发布时间】:2021-12-19 17:19:13
【问题描述】:

我想显示整个里程碑数组,但我需要按顺序显示。 例如:先出现milestones[0],然后出现milestones[1],再出现milestones[2],以此类推。

所以我有一个milestones.map() 来为每个里程碑创建一张卡片,并尝试添加一个settimeout 以“减慢”.map(),但这不起作用。

更形象化,I have thisI need this

这是我的代码:

return (
   <TransitionGroup className='listOfMilestones'>
       {milestones.map((milestone) => {
          return (
             <CSSTransition
             key={milestone.id}
             timeout={500}
             classNames='eachMilestone'
             >
                <MilestoneCard
                  ageRange={ageRange}
                  id={milestone.id}
                  title={milestone.title}
                  answer={milestone.answer}
                 />
             </CSSTransition>
           }
      }
   </TransitionGroup>
)

这是 CSS:

.eachMilestone-enter {
  opacity: 0.01;
  transform: translateY(40px);
}

.eachMilestone-enter-active {
  opacity: 1;
  transform: translateY(0px);
  transition: 500ms ease-in;
}

【问题讨论】:

    标签: reactjs css-animations array.prototype.map


    【解决方案1】:

    因此,您似乎需要超时以增加 milestones 中的每个项目。也许使用来自map 的索引并执行类似的操作

    timeout={500 + 100 * i}
    

    第一个项目会有 500 毫秒超时,第二个是 600 毫秒,以此类推。您可以根据自己的意愿对其进行调整以延迟。

    【讨论】:

    • 谢谢!没想过,试过了还是不行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多