【发布时间】:2021-10-12 01:42:00
【问题描述】:
我正在使用动画库 react-transition-group 为使用 <TransitionGroup> 和 <CSSTransition> 的 TODO 列表制作动画,如下所示
<ul>
<TransitionGroup className="todo-list">
{incompleteTodos.map((task) => (
<CSSTransition key={task.id} timeout={500} classNames={styles}>
<li key={task.id}>
<TodoTask
todo={task}
onClick={(todo) =>
toggleTodo({ data: todo })}
/>
</li>
</CSSTransition>
))}
</TransitionGroup>
</ul>
但我在控制台中收到如下错误:
我读到了在official changelog 和git issue 中提到的CSSTransition 元素上使用nodeRef={nodeRef} 的内容,如下所示,但随后它开始表现得很奇怪,即某些元素在UI 中没有正确显示,如下所示截图如下代码sn-ps:
const nodeRef = React.useRef(null)
和
<ul>
<TransitionGroup className="todo-list">
{incompleteTodos.map((task) => (
<CSSTransition
key={task.id}
timeout={500}
classNames={styles}
nodeRef={nodeRef}
>
<li key={task.id} ref={nodeRef}>
<TodoTask
todo={task}
onClick={(todo) =>
toggleTodo({ data: todo })}
/>
</li>
</CSSTransition>
))}
</TransitionGroup>
</ul>
【问题讨论】:
-
@edemaine 试过了,但我的代码有 Transition 和 CSSTransition,没有用
标签: reactjs react-transition-group react-animations