JSON ํ์์ผ๋ก ์ ๋๋ฉ์ด์
์ ์ ์ฅํ์ฌ ๋น๊ต์ ํ์ผ ํฌ๊ธฐ๊ฐ ์์ Lottie.
Lottie์์ ์ํ๋ ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ ์ฌ์ฉํ ์ ์๋ค.
๋ฐ์์จ Lottie ํ์ผ์ ๋ฏธ๋ฆฌ ํ๋ ์ดํด ๋ณผ ์ ์๋ ๊ณณ
# ์ค์น
npm install --save react-lottie-player
(Next.js๋ผ๋ฉด jsonํ์ผ์ publicํด๋์ ๋ฃ๊ณ ์ฌ์ฉ)
import Lottie from 'react-lottie-player';
import loadingJson from '../public/lottie/animation_loading.json';
function LoadingLottie() {
return (
<Lottie loop animationData={loadingJson} play />
);
}
export default LoadingLottie;
Next.js๋ผ๋ฉด dynamic import๋ก ๊ฐ์ ธ์์ ์ฌ์ฉํด์ผ ํจ
import { CSSProperties } from 'react';
import dynamic from 'next/dynamic';
import loadingJson from '@/public/json/loading.json';
interface Props {
customStyle?: CSSProperties;
}
function LoadingLottie({ customStyle }: Props) {
const Lottie = dynamic(() => import('react-lottie-player'), { ssr: false });
return (
<Lottie style={customStyle} loop animationData={loadingJson} play />
);
}
export default LoadingLottie;
๊ณตํ์์ json ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ ์ฌ์ฉํ ์๋ ์์ง๋ง,
์ง์ ๋ง๋ ์ ๋๋ฉ์ด์
์ Lottie๋ก ์ฌ์ฉํ๊ณ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด
๐ ์ํ์์ ๋กํฐ ์ ๋๋งค์ด์
๋ง๋ค๊ธฐ1
๐ ์ํ์์ ๋กํฐ ์ ๋๋งค์ด์
๋ง๋ค๊ธฐ2