javascript - React.js:将元素平滑地移动到新位置
问题描述
我需要将一个元素从一个位置平滑地移动到另一个位置,只要它呈现在其他地方。这是我的简化示例:
import React, { useState } from 'react';
const SomeComponent = () => {
const [isYes, setIsYes] = useState(true);
return (
<div>
<div>Yes{isYes && <i>*</i>}</div>
<div>No{!isYes && <i>*</i>}</div>
<button onClick={() => setIsYes(!isYes)}>Toggle</button>
</div>
);
};
export default SomeComponent;
Yes*
每当单击按钮时,星号会在和之间切换No*
。我需要这个星号以动画方式平稳移动。我尝试了useRef()
结合 with 的技巧getBoundingClientRect()
,但最终出现了错误行为或无限渲染。
应该如何正确完成?或者,在像我这样的情况下,是否有一个库可以为元素设置动画?
解决方案
推荐阅读
- android - Picker 和 PickerIOS 在本机反应中出错
- oracle-apex - Oracle APEX - 可重用页面?
- firebase - 如何更新在查询中找到的文档?
- android - 会话“应用程序”:在 android studio 中启动活动时出错
- javascript - 为什么 JavaScript 没有命名参数?
- machine-learning - 如何选择特征进行聚类?
- dart - 每次按键时在 dart TextField 中执行方法
- ios - 如何使用 Swift 创建底部表单样式模型视图控制器?
- python - Python,websocket在某些机器上自动关闭
- machine-learning - 神经网络的小词汇量可以吗?