React TweenOne Component

 |
 |
 |
 |
 |
| IE 10+ |
Chrome 31.0+ |
Firefox 31.0+ |
Opera 30.0+ |
Safari 7.0+ |
npm install
npm start
http://localhost:8100/examples/
2.x: http://react-component.github.io/tween-one/
3.x: https://tween-one.vercel.app/

var TweenOne = require('rc-tween-one');
var React = require('react');
React.render(<TweenOne animation={{x:100}}>
demo
</TweenOne>, container);
var TweenOne = require('rc-tween-one');
var React = require('react');
var SvgDrawPlugin = require('rc-tween-one/lib/plugin/SvgDrawPlugin');
TweenOne.plugins.push(SvgDrawPlugin);
React.render(<svg width="600" height="600">
<TweenOne
animation={{ SVGDraw:'50%'}}
d="M0,0L100,0"
style={{ fill: 'none', strokeWidth: 20, stroke: '#00000' }}
component="path"
/>
</svg>, container);
var TweenOne = require('rc-tween-one');
var React = require('react');
var TweenOneGroup = TweenOne.TweenOneGroup;
React.render(<TweenOneGroup>
<div key="0">demo</div>
<div key="1">demo</div>
</TweenOneGroup>, container);
中文文档
| name |
type |
default |
description |
| animation |
object / array |
null |
animate configure parameters |
| paused |
boolean |
false |
animate timeline pause |
| reverse |
boolean |
false |
animate timeline revers |
| delay |
number |
0 |
animate timeline delay |
| repeat |
number |
0 |
animation all data repeat, To repeat indefinitely, use -1 |
| repeatDelay |
number |
0 |
animate timeline repeat delay |
| yoyo |
boolean |
false |
animation all data alternating backward and forward on each repeat. |
| onChange |
func |
null |
when the animation change called, callback({ moment, targets, index, mode, ratio, vars, index, repeat }) |
| onChangeTimeline |
func |
null |
when the animation change called, callback({ mode, targets, vars, moment, totalTime, repeat }) |
| moment |
number |
null |
set the current frame |
| regionStartTime |
number |
0 |
Set the start time of the animation region |
| regionEndTime |
number |
null |
Set the end time of the animation region |
| attr |
boolean |
false |
attribute animation is true, when morph SVG must be true. |
| resetStyle |
boolean |
false |
update animation data, reset init style |
| component |
string / React.Element |
div |
component tag |
| componentProps |
object |
null |
component is React.Element, component tag props, not add style |
Basic animation param. please view animation terms
| name |
type |
default |
description |
| [key: string] |
string number array |
null |
All variables based on number, such as left, x, color, shadow |
| type |
string |
to |
play type: to from set |
| duration |
number |
450 |
animate duration |
| delay |
number |
0 |
animate delay |
| repeat |
number |
0 |
animate repeat, To repeat indefinitely, use -1 |
| repeatDelay |
number |
0 |
repeat start delay |
| appearTo |
number |
null |
Add to the specified time |
| yoyo |
boolean |
false |
true: alternating backward and forward on each repeat. |
| ease |
string |
easeInOutQuad |
animate ease refer or svg path M0,100 C30,60 0,20 50,50 C70,70 60,0 100,0 |
| bezier |
object |
null |
bezier curve animate |
| onStart |
func |
null |
A function that should be called when the tween begins, callback(e), e: { index, target } |
| onUpdate |
func |
null |
A function that should be called every time the animate updates, callback(e), e: { index, targets, ratio } |
| onComplete |
func |
null |
A function that should be called when the animate has completed, callback(e), e: { index, targets } |
| onRepeat |
func |
null |
A function that should be called each time the animate repeats, callback(e), e: { index, targets } |
Cannot be used at the same time reverse and repeat: -1.
<TweenOne animation={[{ x: 100 }, { y: 100 }]} />
import { Plugins } from 'rc-tween-one';
import SvgDrawPlugin from 'rc-tween-one/es/plugin/SvgDrawPlugin';
Plugins.push(SvgDrawPlugin);
<TweenOne animation={{ SVGDraw: '10%' }} />
SVGDraw = string or number;
{ SVGDraw: 30 } or { SVGDraw: 'start end' } start and end values can be %;
import { Plugins } from 'rc-tween-one';
import SvgMorphPlugin from 'rc-tween-one/es/plugin/SvgMorphPlugin';
Plugins.push(SvgMorphPlugin);
<TweenOne animation={{ SVGMorph: { path: '300,10 500,200 120,230 450,220 0,20' }}} />
| name |
type |
default |
description |
| path |
string |
null |
svg path, ref: M0,0L100,0; |
| attr |
string |
null |
Svg tag attributes, example: polygon is points, path is d. |
| maxSegmentLength |
number |
0.5 |
The lower the value, the smoother the generated animation will be, but at the expense of performance; |
import { Plugins } from 'rc-tween-one';
import PathMotionPlugin from 'rc-tween-one/es/plugin/PathMotionPlugin';
Plugins.push(PathMotionPlugin);
<TweenOne animation={{ PathMotion: { path: '300,10 500,200 120,230 450,220 0,20' }}} />
| name |
type |
default |
description |
| path |
string / {x,y}[] |
null |
svg path, ref: M0,0L100,0; |
| pathVars |
IPathVars |
null |
Only valid if path is array [{x, y}, {x, y}] |
| center |
number \ string[] |
['50%','50%'] |
center point, ref: [50px, 50px]; |
| x |
boolean |
true |
x follow the path. |
| y |
boolean |
true |
y follow the path. |
| rotate |
boolean |
true |
rotate follow the path. |
| name |
type |
default |
description |
| type |
thru \ soft \ cubic |
thru |
path type. thru same as the path; soft with the curve of attraction facing them, but not through the point; cubic allows you to define standard Cubic Bezier, example: [start, control, control, end]. |
| curviness |
0-2 |
1 |
This determines how "curvy" the resulting path is. 0 is lines, 1 is curved path, 2 would make it much more curvy. It can be 1.5. |
| relative |
boolean |
false |
Increase relative to current value. example: if the target's x starts at 100 and the path is [{x:5}, {x:10}, {x:-2}] , it would first move to 105, then 115, and finally end at 113. |
| name |
type |
default |
description |
| value |
number |
null |
children number to value. |
| floatLength |
number |
null |
float precision length |
| formatMoney |
true \ { thousand, decimal } |
null |
format number to money. |
| name |
type |
default |
description |
| thousand |
string |
, |
no explanation. |
| decimal |
string |
. |
no explanation. |
| name |
type |
default |
description |
| appear |
boolean |
true |
whether support appear anim |
| enter |
object / array / func |
{ x: 30, opacity: 0, type: 'from' } |
enter anim twee-one data. when array is tween-one timeline, func refer to queue-anim |
| leave |
object / array / func |
{ x: 30, opacity: 0 } |
leave anim twee-one data. when array is tween-one timeline, func refer to queue-anim |
| onEnd |
func |
- |
one animation end callback |
| animatingClassName |
array |
['tween-one-entering', 'tween-one-leaving'] |
className to every element of animating |
| resetStyle |
boolean |
true |
TweenOne resetStyle, reset the initial style when changing animation. |
| exclusive |
boolean |
false |
Whether to allow a new animate to execute immediately when switching. enter => leave: execute immediately leave |
| component |
React.Element/String |
div |
component tag |
| componentProps |
object |
- |
component tag props |