Skip to content

vercel/react-keyframes

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

React Keyframes

A React component for creating frame-based animations.

Demo

Example

The following example will render contents in Frame one at a time every 500 ms.

import { Keyframes, Frame } from "react-keyframes";

function MyComponent() {
  return (
    <Keyframes>
      <Frame duration={500}>This</Frame>
      <Frame duration={500}>This is</Frame>
      <Frame duration={500}>
        This is <em>animated</em>.
      </Frame>
    </Keyframes>
  );
}

Usage

Firstly, install the package:

$ npm install --save react-keyframes

API

Keyframes

<Keyframes { component = 'span' } />

  • Use import { Keyframes } from 'react-keyframes'
  • The component prop specifies what component Keyframes renders as. You can pass the following:
    • a React Component (i.e. <Keyframes component={myComponent} />)
    • a React Fragment (i.e. <Keyframes component={React.Fragment} />)
    • an HTML tag represented as a string (i.e. <Keyframes component='div' />)
    • If nothing is passed, it defaults to "span"
  • Any additional, user-defined properties will become properties of the rendered component.
  • It must have only Frame as children.
  • Example:
import { Component } from 'react';
import { Keyframes, Frame } from 'react-keyframes';

class extends Component {
  render () {
    return <Keyframes component="pre" delay={300} className="animation-test">
      <Frame>foo</Frame>
      <Frame>bar</Frame>
    </Keyframes>;
  }
}

Frame

<Frame { duration = 0 } />

  • Use import { Frame } from 'react-keyframes'
  • The duration prop specifies the length of time that a frame should show (millisecond).
  • You have to put Frame in the order you want them animated.
  • Example:
import { Component } from 'react';
import { Keyframes, Frame } from 'react-keyframes';

class extends Component {
  render () {
    return <Keyframes>
      <Frame duration={100}>foo</Frame>
      <Frame duration={200}>bar</Frame>
    </Keyframes>;
  }
}

Contributing

  • Run npm run build to transpile the source code
  • Before submitting a PR, please run npm run test
  • Please be welcoming

Author

Naoyuki Kanezawa (@nkzawa) - Vercel