Files
outline/app/components/LoadingEllipsis.js
T
2020-11-17 20:52:01 -08:00

21 lines
425 B
JavaScript

// @flow
import * as React from "react";
type Props = {|
interval?: number,
|};
export default function LoadingEllipsis({ interval = 750 }: Props) {
const [step, setStep] = React.useState(0);
React.useEffect(() => {
const handle = setInterval(() => {
setStep((step) => (step === 3 ? 0 : step + 1));
}, interval);
return () => clearInterval(handle);
}, [interval]);
return ".".repeat(step);
}