안녕하세요!!
오늘은 제 프로젝트에 적용된 스피너를 소개해 드릴까 합니다.
axios를 사용하여 server 쪽으로 비동기 통신을 할 때 딜레이 시간이 생기는데....
딜레이 시간 동안 유저에게 좀 더 쾌적하게 화면을 보여주기 위해서 적용해 봤어요!!
client단코드
styled components를 사용해서 스피너 컴포넌트를 따로 만들었습니다.
로딩 중일 때 띄울 스피너 이미지를 처음에는 아무거나 가져다 썼더니... 사이즈 변경 시 깨져서
알아보다 보니 svg가 안 깨진다고 해서 가져와서 쓰고 있습니다~~ 안 깨지니까 너무 좋아..
제가 사용한 이미지
스피너 테스트할 때 계속 보다 보니까 멍해져서 "뭐 하고 있었지??"
정신 줄 놓는.... 조심하세요..
이미지 import 한 뒤에 저 표시만 있으면 지금 페이지가 뭘 하는지
모르시는 분들도 계실까 봐 텍스트도 하나 넣어줍니다.. (로딩 중..)
중하니까 또 생각나는 게.. 중학교 때 학교에서 집까지 뛰어서 5분거리였는데...
ㅋㅋ 꼭 가깝다고 다 좋은 건 아닌가 바요..
아 맞다 위에 스피너 이미지 인x런에서도 쓰나 봐요
자바스크립트 공부 더 하려고 결제했는데
영상 로딩 시에 저 이미지 뜨더라구요..... ᄏᄏ
무튼 스피너 component 만들고
스피너를 사용할 mainpage component로 돌아와서 (import는 생략...)
상태 관리하기 위해 useState를 사용하고, 기본값(false)를 줍니다.
axios 비동기 통신 부분에다가
JSX코드 작성 부분에..
위에 state 관리하려고 만든 loading을
삼항연산자를 활용하여
loading ? <loading true일 때 보여줄 부분> : <false일 때 spinner보여주기>
이런방법으로 loading true시에 보여줄 부분만 넣어주면 끝!!
'Frontend > React' 카테고리의 다른 글
html tag를 react에서 작업시 자동완성 옵션 (0) | 2023.05.31 |
---|---|
reduxjs-toolkit 사용시 비직렬화 문제.. (0) | 2023.05.30 |
Firebase 데이터 가져오다가 사고..(해결 (0) | 2023.05.03 |
react - public폴더 이미지 절대경로 사용법 (0) | 2023.04.25 |