---
title: Spinning loader
type: snippet
tags: [components]
cover: godray-computer-mug
dateModified: 2020-11-16T15:17:26+02:00
---
Renders a spinning loader component.
- Render an SVG, whose `height` and `width` are determined by the `size` prop.
- Use CSS to animate the SVG, creating a spinning animation.
```css
.loader {
animation: rotate 2s linear infinite;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
.loader circle {
animation: dash 1.5s ease-in-out infinite;
}
@keyframes dash {
0% {
stroke-dasharray: 1, 150;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 90, 150;
stroke-dashoffset: -35;
}
100% {
stroke-dasharray: 90, 150;
stroke-dashoffset: -124;
}
}
```
```jsx
const Loader = ({ size }) => {
return (
);
};
```
```jsx
ReactDOM.createRoot(document.getElementById('root')).render(
);
```