react-typing-hook
Version:
Animated typing in ~400 bytes 🐡 of React Hook.
98 lines (68 loc) • 1.82 kB
Markdown
# react-typing-hook
Animated typing in ~400 bytes 🐡 of React Hook.

[](https://lerna.js.org/)


## Install
```yarn
yarn add react-typing-hook
```
or
```yarn
npm install react-typing-hook
```
## Usage
Type some animate text on the web.
```tsx
import useTyping from 'react-typing-hook'
function App() {
const ref = React.useRef(null);
useTyping(ref, {
steps: ['Hello', 1000, 'Hello world!', 500],
loop: Infinity,
speed: 60
})
return <p ref={ref}></p>
// <p>Hello</p>
// ... 1000ms
// <p>Hello Hello</p>
// ... 500ms
// <p>Hello</p>
}
```
## API
| Name | Type | Default | Description |
| ---- | ----- | :----: | --- |
| ref | `React.RefObject<HTMLDocument>` | - | The ref of typical text wraper |
| steps | `Array<string, number, Function>` | - | Step array assign to the typing |
| loop | `number` | 1 | The number of loop typing animation effect, **Infinity** |
| speed | `number` | 60 | The speed of typing animation effect |
Add the classname on the dom.
```html
<p ref={ref} className="typingWrapper"></p>
```
Such as a blink cursor style like this.
```css
.typingWrapper::after {
content: "|";
animation: blink 1s infinite step-start;
}
@keyframes blink {
50% { opacity: 0; }
}
```
## Contributing
```yarn
yarn install
```
Compiles and hot-reloads for development
```yarn
yarn start
```
Compiles and minifies for production
```yarn
yarn build
```
## LICENSE
MIT