View code
// Vanilla JS
let i = 0;
const txt = 'Doing some nice type writing effect!
Added also a line break!';
const speed = 50;
function typeWriter() {
if (i < txt.length) {
document.querySelector("#someId").innerHTML += txt.charAt(i);
i++;
setTimeout(typeWriter, speed);
}
}
typeWriter()
// React
const [typeText, setTypeText] = useState('')
const [i, setI] = useState(0)
const txt = 'Doing some nice type writing effect!
Added also a line break!'
const speed = 40
useEffect(() => {
if(i < txt.length) {
const timeout = setTimeout(() => {
setTypeText((prev) => prev + txt.charAt(i))
setI((prev) => prev + 1)
}, speed)
return () => clearTimeout(timeout)
}
}, [i, txt, speed])