React transition group实现动画时不生效问题?
const [show, setShow] = useState(false);
<button onClick={() => setShow(!show)}>click</button>
<CSSTransition
in={show}
addEndListener={
(node, doneCallBack) =>
node.addEventListener("transitionend", doneCallBack)
}
classNames="ccc"
>
<div className='ddd'></div>
</CSSTransition>
.ddd {
width: 100px;
height: 100px;
margin-top: 100px;
background-color: lightblue;
transition: opacity 1s linear;
display: none;
}
.ccc-enter {
opacity: 0;
display: block;
}
.ccc-enter-active,
.ccc-enter-done {
opacity: 1;
display: block;
}
.ccc-exit {
opacity: 1;
display: block;
}
.ccc-exit-active,
.ccc-exit-done {
opacity: 0;
display: none;
}
点击按钮的时候,div可以动画出来;再点击让div消失的时候,就一下消失了,没有动画,怎么解决?
回复
1个回答

test
2024-07-11
unmountOnExit
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容