【发布时间】:2015-10-08 08:31:36
【问题描述】:
我有以下两个 ReactJS 组件:
MyGraphThingy,它充当实际元素的容器。它渲染成一个 svg 元素,其中包含子元素。
MyGraphElement,渲染成一个圆圈。
在第三个组件中,渲染方法返回以下内容:
<MyGraphThingy><MyGraphElement position={this.getPosition()/></MyGraphThingy>
其中 getPosition() 取决于组件状态。所以如果组件的相关状态发生变化,SVG圆的位置也应该发生变化。
问题是,实现动画的最佳方式是什么,而不是圆从一个地方跳到另一个地方,而是平滑过渡?
圆圈只是一个示例,实际用例涉及为几乎所有 SVG 属性设置动画。
不,我不想依赖 D3,是的,理想情况下,我希望在由属性更改触发的 MyGraphThingy 中处理此问题,而不是使用 react-animate 之类的模块。我可能应该在其中使用一些生命周期方法,但是如何实现实际的动画是我想知道的。
【问题讨论】:
标签: javascript animation svg reactjs