【发布时间】:2018-02-07 08:18:17
【问题描述】:
我正在使用 React 和 CSSTransitionGroup 组件在我的应用程序状态下的两组 members 之间切换。它的状态包含members,每个都有一个标志来表明他们是否是一个真正的成员。它还包含一个标志来跟踪我们正在查看的成员类型:
this.state = {
viewMembers: true,
members: [
{
id: 1,
name: "Jim",
isMember: true
},
{
id: 2,
name: "John",
isMember: false
}
]
}
在我的render 函数中,我映射到这个数组,并且只显示与视图状态相对应的成员(即如果viewMembers 是true,我只显示isMember 是true 的成员,反之亦然反之亦然)。对于每个成员,我返回一个表 <tr>。 map 函数包装在 CSSTransitionGroup 标记中以淡入表格行。这一切都很好 - 请在此处查看工作代码:jsfiddle.net/d9cfh4zg/1/。
我的问题是它目前在淡出旧状态之前在新状态中淡出,给它带来了轻微的质量问题。如何让现有行在淡入新行之前淡出?
【问题讨论】:
-
问题是您的行创建高度并且没有显示。您可以尝试使用不透明度为 tr 高度设置动画。
-
@GluePear 请查看编辑后的答案。希望对您有所帮助。
标签: javascript reactjs reactcsstransitiongroup react-transition-group