Comments (4)
Actually, we can use a trick here!
<Anime
autoplay={false}
ref={ref => {
console.log('ref', ref);
setTimeout(() => {
ref.anime.play();
}, 2e3);
this._ref = ref;// this way we can control the animation also from outside of jsx!
}}
...
>
...
</Anime>
from react-anime.
Controlling multiple components in different components would require the 2 components to share state in some way. Let me try cooking up an example here:
Lets say for instance, we have a view with Header
and Body
components.
We want it so that if we click a button, a unique animation will play one each of these components, 1 by 1.
import { Component } from 'react';
class View extends Component {
triggerAnimation = () => {
// Stub
}
render() {
return (
<div>
<Header/>
<Body/>
<Button onClick={this.tiggerAnimation}/>
</div>
);
}
}
Workaround - Delay
One way to go about doing this is to set the delay of each element to be whatever the duration would be in timeline, for instance, I do that in the intro animation of the React Anime Github Page.
The whole point of a Timeline is to centralize those keyframes in one place though...
Future Work
Perhaps some future work should be defining a <Timeline/>
element:
let Logo = () => (
<Timeline>
<Keyframe>
<LogoOutline/>
</Keyframe>
<Keyframe>
<LogoLines/>
<Keyframe>
</Timeline>
);
Sounds like a good feature for 2.1!
from react-anime.
Oh thanks a lot, I am looking forward Timeline component. I'll use workaround solution. Thanks for the help.
from react-anime.
Was this functionality ever added? :c
from react-anime.
Related Issues (20)
- No documentation for strokeDashoffset HOT 1
- Anime not working with components HOT 2
- Cannot support animejs3.x HOT 2
- no exported member 'Motion'.ts
- react-motion > react-anime HOT 1
- Mapping array inside <Anime /> on state update won't render HOT 2
- Simple translateY will not work for the life of me. HOT 1
- Cannot get basic animation working? HOT 1
- if you use Date.now() or combine anything with Date.now() at key={} attribute. HOT 1
- Breaks immediately with Next.Js HOT 1
- Controls Documentation HOT 3
- Animation is run on every rerender HOT 7
- SVG line drawing issue HOT 2
- Can't do anything with SVG. Errors with `Cannot add property delay, object is not extensible` HOT 1
- Allow user to choose component to render for Anime wrapper? HOT 2
- Removing forced delay in <Anime scale={ delay: number }></Anime>
- Cannot install react-anime HOT 2
- Cannot import react-anime HOT 4
- "Failed to parse source map from" error HOT 1
- No types in dist HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-anime.