Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
rc-animate
Advanced tools
The rc-animate package is a React component for creating animations. It provides a simple way to animate elements as they enter and leave the DOM, making it useful for creating dynamic and interactive user interfaces.
Basic Animation
This example demonstrates a basic animation using rc-animate. When the button is clicked, the 'Hello World' box will fade in and out.
const React = require('react');
const ReactDOM = require('react-dom');
const Animate = require('rc-animate');
class App extends React.Component {
state = { show: true };
toggle = () => {
this.setState({ show: !this.state.show });
};
render() {
return (
<div>
<button onClick={this.toggle}>Toggle</button>
<Animate transitionName="fade">
{this.state.show ? <div key="1" className="box">Hello World</div> : null}
</Animate>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));
Custom Animation
This example shows how to use custom CSS classes for animations. The 'custom-enter' and 'custom-leave' classes can be defined in your CSS to create custom animations.
const React = require('react');
const ReactDOM = require('react-dom');
const Animate = require('rc-animate');
class App extends React.Component {
state = { show: true };
toggle = () => {
this.setState({ show: !this.state.show });
};
render() {
return (
<div>
<button onClick={this.toggle}>Toggle</button>
<Animate
transitionName={{
enter: 'custom-enter',
leave: 'custom-leave'
}}
>
{this.state.show ? <div key="1" className="box">Hello World</div> : null}
</Animate>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));
react-transition-group is a popular package for managing animations in React. It provides more control over the animation lifecycle and is more flexible compared to rc-animate. It supports more complex animations and transitions.
framer-motion is a powerful animation library for React. It offers a wide range of animation capabilities, including gestures, keyframes, and layout animations. It is more feature-rich and modern compared to rc-animate.
react-spring is a spring-physics-based animation library for React. It provides a more natural and fluid animation experience. It is highly customizable and can handle complex animation scenarios better than rc-animate.
Animate React Component easily.
import Animate from 'rc-animate';
export default () => (
<Animate animation={{ ... }}>
<p key="1">1</p>
<p key="2">2</p>
</Animate>
);
IE / Edge | Firefox | Chrome | Safari | Electron |
---|---|---|---|---|
IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
name | type | default | description |
---|---|---|---|
component | React.Element/String | 'span' | wrap dom node or component for children. set to '' if you do not wrap for only one child |
componentProps | Object | {} | extra props that will be passed to component |
showProp | String | using prop for show and hide. [demo](http://react-component.github.io/animate/examples/hide-todo.html) | |
exclusive | Boolean | whether allow only one set of animations(enter and leave) at the same time. | |
transitionName | String|Object | specify corresponding css, see ReactCSSTransitionGroup | |
transitionAppear | Boolean | false | whether support transition appear anim |
transitionEnter | Boolean | true | whether support transition enter anim |
transitionLeave | Boolean | true | whether support transition leave anim |
onEnd | function(key:String, exists:Boolean) | true | animation end callback |
animation | Object | {} | to animate with js. see animation format below. |
with appear, enter and leave as keys. for example:
{
appear: function(node, done){
node.style.display='none';
$(node).slideUp(done);
return {
stop:function(){
// jq will call done on finish
$(node).stop(true);
}
};
},
enter: function(){
this.appear.apply(this,arguments);
},
leave: function(node, done){
node.style.display='';
$(node).slideDown(done);
return {
stop:function(){
// jq will call done on finish
$(node).stop(true);
}
};
}
}
npm install
npm start
http://localhost:8200/examples/index.md
online example: http://react-component.github.io/animate/examples/
npm test
npm run chrome-test
npm run coverage
open coverage/ dir
rc-animate is released under the MIT license.
FAQs
css-transition ui component for react
We found that rc-animate demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.