소개
이 랩에서는 React 와 CSS 를 사용하여 회전하는 로더 컴포넌트를 만드는 방법을 배웁니다. 이 컴포넌트의 목적은 애플리케이션이 데이터를 로딩하거나 처리하고 있음을 사용자에게 시각적으로 알려주는 것입니다. 이 랩이 끝나면 React 프로젝트에서 사용할 수 있는 재사용 가능한 로더 컴포넌트를 갖게 됩니다.
이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 중급 레벨의 실험이며 완료율은 76%입니다.학습자들로부터 96%의 긍정적인 리뷰율을 받았습니다.
회전 로더
index.html및script.js는 이미 VM 에 제공되었습니다. 일반적으로script.js및style.css에만 코드를 추가하면 됩니다.
회전 로더 컴포넌트를 렌더링합니다.
회전 로더 컴포넌트를 렌더링하려면 다음 단계를 따르세요.
sizeprop 에 의해 치수가 결정되는 SVG 요소를 렌더링합니다.- CSS 를 사용하여 SVG 에 애니메이션을 적용하여 회전 애니메이션을 만듭니다. 구체적으로,
.loader클래스를 SVG 에 추가하고animation속성을rotate 2s linear infinite로 설정합니다. 또한 SVG 를 360 도 회전시키는transform속성을 사용하여rotatekeyframes 를 정의합니다. - 회전하는 원을 나타내는
circle요소를 SVG 에 추가합니다. 원에 애니메이션을 적용하려면.loader circle선택자를 추가하고animation속성을dash 1.5s ease-in-out infinite로 설정합니다. 또한 원 주위를 이동하는 점선 패턴을 만드는stroke-dasharray및stroke-dashoffset속성을 사용하여dashkeyframes 를 정의합니다. - 마지막으로, 너비와 높이 속성으로 전달된
sizeprop 을 사용하여 SVG 를 렌더링하는Loader컴포넌트를 만듭니다.
.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;
}
}
const Loader = ({ size }) => {
return (
<svg
className="loader"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<circle cx="12" cy="12" r="10" />
</svg>
);
};
Loader 컴포넌트를 크기 24 로 사용하려면 ReactDOM.createRoot(document.getElementById('root')).render(<Loader size={24} />);를 호출합니다.
웹 서비스를 포트 8080 에서 실행하려면 오른쪽 하단의 'Go Live'를 클릭하십시오. 그런 다음 Web 8080 탭을 새로 고쳐 웹 페이지를 미리 볼 수 있습니다.
요약
축하합니다! 회전 로더 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.