移除元素时反应动画

React animation when removing an element

我对 React 很陌生。我正在尝试通过实施完整的 CRUD 来学习。但是,我无法让动画很好地从列表中删除课程。

我已经在 transitionAppeartransitionLeave 上配置了动画。 transitionAppear 工作正常。我无法获得 transitionLeave

这是我的组件: https://github.com/leonardoanalista/react-crud/blob/master/src/components/course/CourseListRow.js

这是动画的 CSS: https://github.com/leonardoanalista/react-crud/blob/master/src/style.css#L66

如果有更好的方法请告诉我。

非常感谢任何帮助!

干杯 莱昂纳多

你有 ReactCSSTransitionGroup 与组一起呈现,这是你不应该按照 here 做的事情,因为组需要安装在过渡组内。我知道您想在每一行上进行转换,但要使其正常工作,它需要在 tbody 上。

您需要做的就是从 CourseListRow 组件中取出 ReactCSSTransitionGroup 并将其添加到 CourseList:

</thead>
<ReactCSSTransitionGroup
  transitionName="course-item"
  transitionLeave={true}
  transitionAppear={true}
  transitionAppearTimeout={2500}
  transitionEnterTimeout={1700}
  transitionLeaveTimeout={1000}
  component="tbody"
>
  {this.props.courses.map(course =>
    <CourseListRow key={course.id} course={course} removeCourse={this.props.removeCourse} />
  )}
</ReactCSSTransitionGroup>
</table>

我在修复了错误的情况下对您的回购提出了拉取请求。