Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vercel/react-keyframes

Create frame-based animations in React
https://github.com/vercel/react-keyframes

animate animation frame keyframes react

Last synced: 27 days ago
JSON representation

Create frame-based animations in React

Awesome Lists containing this project

README

        

# React Keyframes

A React component for creating frame-based animations.

![Demo](https://cloud.githubusercontent.com/assets/775227/14613178/24789406-05d6-11e6-8411-6ee929ae3f3e.gif)

## Example

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

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

function MyComponent() {
return (

This
This is

This is animated.


);
}
```

## Usage

Firstly, install the package:

```js
$ npm install --save react-keyframes
```

## API

### Keyframes

**``**

- 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. ``)
- a React Fragment (i.e. ``)
- an HTML tag represented as a string (i.e. ``)
- 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:

```js
import { Component } from 'react';
import { Keyframes, Frame } from 'react-keyframes';

class extends Component {
render () {
return
foo
bar
;
}
}
```

### Frame

**``**

- 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:

```js
import { Component } from 'react';
import { Keyframes, Frame } from 'react-keyframes';

class extends Component {
render () {
return
foo
bar
;
}
}
```

## Contributing

- Run `npm run build` to transpile the source code
- Before submitting a PR, please run `npm run test`
- Please [be welcoming](http://contributor-covenant.org/)

## Author

Naoyuki Kanezawa ([@nkzawa](https://twitter.com/nkzawa)) - [Vercel](https://vercel.com)