Animated typing in ~2.6 kb 🐡 with React Hook.
yarn add react-typing-hook
or
npm install react-typing-hook
Type some animate text on the web.
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>
}
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.
<p ref={ref} className="typingWrapper"></p>
Such as a blink cursor style like this.
.typingWrapper::after {
content: "|";
animation: blink 1s infinite step-start;
}
@keyframes blink {
50% { opacity: 0; }
}
yarn install
Compiles and hot-reloads for development
yarn start
Compiles and minifies for production
yarn build
MIT