[RN Library ๐] react-native-fast-image ์ด๋ฏธ์ง placeholder์ธํ ํ๊ธฐ
์ฐ๋ฆฌ ํ์ฌ์ ์ฑ์ ์ด๋ฏธ์ง๊ฐ ๋ง์ด ๋ณด์ด๋ ํธ์ด๋ค.
๋ฆฌ์คํธ ํ์ด์ง์ ๋ํ
์ผ ํ์ด์ง์์ ์ด๋ฏธ์ง๊ฐ ์๋ฉ ๋ณด์ธ๋ค.
๊ทผ๋ฐ react native ์ผ๋ฐ Image ์ปดํฌ๋ํธ๋ ๋ ๋ฉ์ด ์กฐ๊ธ ๋๋ฆฌ๋ค.
๋น ๋ฅธ ์ด๋ฏธ์ง ๋ ๋๋ฅผ ์ํด react-native-fast-image ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ณด์๋ค.
reac-native-fast-image ๊นํ ๋ฐ๋ก๊ฐ๊ธฐ
yarn add react-native-fast-image
cd ios
pod install
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
import FastImage from 'react-native-fast-image'
const YourImage = () => (
<FastImage
style={{ width: 200, height: 200 }}
source={{uri: 'https://unsplash.it/400/400?image=1'}}
/>
)
placeholder ์ธํ
ํ๊ธฐ
import FastImage from 'react-native-fast-image'
const YourImage = () => (
<FastImage
style={{ width: 200, height: 200 }}
source={{uri: 'https://unsplash.it/400/400?image=1'}}
/>
)
image placeholder๋ ์ด๋ฏธ์ง๊ฐ ์์ ํ ๋ ๋ ๋๊ธฐ ์ ๊น์ง ๋ณด์ด๋ ํ๋ฉด์ ๋งํ๋ค.
import react, {useState} from 'react';
import FastImage from 'react-native-fast-image';
funtion ImgPlaceHolder(){
const [imgLoad, setImgLoad] = useState(false);
render(
{!imgLoad && (
<FastImage
style={{ width: 200, height: 200 }}
source={{uri: placeholder ์ด๋ฏธ์ง}}
/>
)}
<FastImage
style={[{ width: 200, height: 200 }, imgLoad ? {} : {width: 0}]}
source={{uri: ๋ณด์ฌ์ผ ํ๋ ์ด๋ฏธ์ง}}
onLoadEnd={() => setImgLoad(true)}
/>
)
}
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([RN Library ๐] react-native-fast-image ์ด๋ฏธ์ง placeholder์ธํ ํ๊ธฐ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@dody_/RN-Library-react-native-fast-image-์ด๋ฏธ์ง-placeholder์ธํ ํ๊ธฐ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค