React with Hooks를 위한 빠르고 쉬운 로드 스피너 튜토리얼
3383 단어 react
다음으로 React 프로젝트에서
LoadSpinner
구성 요소를 만듭니다. project-folder
|_src
|_LoadSpinner
|_LoadSpinner.js
|_LoadSpinner.css
|_App.js
...
LoadSpinner.js
에서 기능 구성 요소를 만듭니다. 어떤 소품도 필요하지 않습니다. 그런 다음 스피너용HTML
을 붙여넣습니다. css
도 가져오는 것을 잊지 마십시오.import React from 'react';
import './LoadSpinner.css';
const LoadSpinner = () => (
<div className="lds-spinner"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
);
export default LoadSpinner;
다음으로
css
코드를 LoadSpinner.css
안에 붙여넣습니다..lds-spinner {
color: official;
display: inline-block;
position: relative;
width: 80px;
height: 80px;
}
.lds-spinner div {
transform-origin: 40px 40px;
animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
content: " ";
display: block;
position: absolute;
top: 3px;
left: 37px;
width: 6px;
height: 18px;
border-radius: 20%;
background: #cef;
}
/*
... there are A LOT more classes I'm leaving off for the sake of space
*/
이제
state
를 사용하여 스피너 표시 여부를 제어할 수 있습니다. 이 예에서는 보이는 스피너와 숨겨진 스피너 사이를 전환하는 버튼을 만들 것입니다.import React, { useState } from 'react';
import './App.css';
import LoadSpinner from './LoadSpinner/LoadSpinner';
function App() {
const [isLoaded, setIsLoaded] = useState(true);
const handleIsLoadedToggle = () => {
setIsLoaded(currentIsLoaded => !currentIsLoaded)
};
return (
<div className="App">
<button onClick={handleIsLoadedToggle}>
Toggle LoadSpinner
</button>
{isLoaded && <LoadSpinner />}
</div>
);
}
export default App;
이 예에서는 "Toggle LoadSpinner"라는 버튼을 표시하고 있습니다. 버튼을 클릭하면
handleIsLoadedToggle
가 실행되고 isLoaded
가 현재 상태와 반대되는 상태로 설정됩니다.return
문 아래에서 LoadSpinner
가 true인 경우 isLoaded
구성 요소가 표시됩니다.후크를 사용하지 않으려면
isLoaded
구성 요소의 상태에 class
를 추가하면 됩니다.class App extends React.Component {
state = {
isLoaded: true
}
handleIsLoadedToggle = () => {
this.setState(prevState => ({
isLoaded: !prevState.isLoaded
}))
};
render() {
return (
<div className="App" >
<button onClick={this.handleIsLoadedToggle}>Toggle LoadSpinner</button>
{ this.state.isLoaded && <LoadSpinner />}
</div >
);
}
}
코드here를 확인하세요.
Reference
이 문제에 관하여(React with Hooks를 위한 빠르고 쉬운 로드 스피너 튜토리얼), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/robotspacefish/quick-and-easy-load-spinner-tutorial-for-react-with-hooks-31op텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)