为什么 react-transition-group 不起作用?
why react-transition-group is not working?
我正在尝试在状态更改和元素挂载时使用动画,尝试了 React Transition Group 文档中提到的方法但失败了。
我有一个 UI 是这样的:
中心圆项目是活动项目,当用户选择其他项目时会发生变化。
我想要项目变化时的淡入淡出动画效果。
创建了代码示例codesandbox link
一段代码:
jsx:
<TransitionGroup>
{this.state.items.map((data, index) => (
<CSSTransition key={index} timeout={1000} classNames="item">
<div
className={"list " + (index === 2 ? " active" : "")}
key={index}
onClick={() => this.setItems(data)}
>
<span>{data}</span>
</div>
</CSSTransition>
))}
</TransitionGroup>
css:
.item-enter {
opacity: 0;
}
.item-enter-active {
opacity: 1;
transition: opacity 1000ms ease-in;
}
.item-exit {
opacity: 1;
}
.item-exit-active {
opacity: 0;
transition: opacity 1000ms ease-in;
}
您似乎只是在重新排序元素。
试试这个 https://popmotion.io/pose/examples/posegroup-reordering/
我正在尝试在状态更改和元素挂载时使用动画,尝试了 React Transition Group 文档中提到的方法但失败了。
我有一个 UI 是这样的:
中心圆项目是活动项目,当用户选择其他项目时会发生变化。
我想要项目变化时的淡入淡出动画效果。
创建了代码示例codesandbox link
一段代码:
jsx:
<TransitionGroup>
{this.state.items.map((data, index) => (
<CSSTransition key={index} timeout={1000} classNames="item">
<div
className={"list " + (index === 2 ? " active" : "")}
key={index}
onClick={() => this.setItems(data)}
>
<span>{data}</span>
</div>
</CSSTransition>
))}
</TransitionGroup>
css:
.item-enter {
opacity: 0;
}
.item-enter-active {
opacity: 1;
transition: opacity 1000ms ease-in;
}
.item-exit {
opacity: 1;
}
.item-exit-active {
opacity: 0;
transition: opacity 1000ms ease-in;
}
您似乎只是在重新排序元素。
试试这个 https://popmotion.io/pose/examples/posegroup-reordering/