๋ชฉ์ฐจ
์ด์ ๊ธ โผ
0. 2023.05.05 - [๐ | WEB DEV/React] - [React] 0. React๋ฅผ ์ฌ์ฉํ๋ ์ด์ & ์ด๊ธฐ ์ธํ
1. 2023.05.07 - [๐ | WEB DEV/React] - [React] 1. JSX
2. 2023.05.26 - [๐ | WEB DEV/React] - [React] 2. state (๋ณ์, array, object)
2-1. 2023.05.27 - [๐ | WEB DEV/React] - [React] 2-1. array state ์ ๋ ฌํ๊ธฐ ( .sort()ํ์ฉ)
3. 2023.05.28 - [๐ | WEB DEV/React] - [React] 3. ์ปดํฌ๋ํธ (Component)
4. 2023.05.28 - [๐ | WEB DEV/React] - [React] 4. ๋์ ์ธ UI ์ ์ํ๊ธฐ
5. 2023.05.28 - [๐ | WEB DEV/React] - [React] 5. ๋ฐ๋ณต๋๋ ๋ถ๋ถ ์ถ์ฝํ๊ธฐ (map)
React์์ ์ด๋ฏธ์ง๋ฅผ ์ฝ์ ํ๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๊ฐ ์๋ค.
1. cssํ์ผ ๋ด์์ ์ด๋ฏธ์ง ์ ๊ทผํ ๋
//App.css
background-image: url('์ด๋ฏธ์ง ๊ฒฝ๋ก');
css ํ์ผ์์ ์ด๋ฏธ์ง์ url ๊ฒฝ๋ก ํน์ srcํด๋ ๋ด์ ์ด๋ฏธ์ง ํ์ผ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋
url()์ ์ด๋ฏธ์ง ๊ฒฝ๋ก๋ฅผ ์ฝ์ ํ๋ฉด ๋๋ค.
2. html ํ์ผ ๋ด์์ srcํด๋ ๋ด ์ด๋ฏธ์ง์ ์ ๊ทผํ ๋ (2๊ฐ์ง)
//App.js
import image1 from './image.png'
function App(){
return(
<>
...
<div className="image1" style={{ backgroundImage : 'url(' + image1 + ')' }}></div>
<img className="image2" src={image1}/>
</>
)
}
(1) " import ์ด๋ฏธ์ง์ด๋ฆ from ๊ฒฝ๋ก "๋ฅผ ํตํด์ ๋จผ์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์จ๋ค. (๊ฒฝ๋ก๋ ./๋ก ์์)
(2-1) style={ {backgroundImage: 'url(' + ์ด๋ฏธ์ง์ด๋ฆ + ')' } }
(2-2) img ํ๊ทธ ์ฌ์ฉ ์ : <img src={ ์ด๋ฏธ์ง์ด๋ฆ }/>
3. public ํด๋์์ ๊ฐ์ ธ์ฌ ๋
1) publicํด๋์ ์ญํ
React App์ ์์ฑํ ํ ๋ฐฐํฌ๋ฅผ ์ํด build๋ฅผ ํ๋ฉด ํ ํ์ผ๋ก ์์ถ์ ํ๋ค.
์ด๋ publicํด๋๋ ์์ถ๋์ง ์๊ณ ํํ๋ฅผ ๊ทธ๋๋ก ์ ์งํ๋ค.
๋ฐ๋ผ์ ์์ ์ด ํ์ํ์ง ์์ staticํ์ผ(์ด๋ฏธ์ง, json, ํ ์คํธ ๋ฑ)์ public ํด๋์ ์ ์ฅํด๋ ๋๋ค.
2) publicํด๋์ ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ
<img src={process.env.PUBLIC_URL + '/๊ฒฝ๋ก'} />
์์ ๊ฐ์ ํ์์ผ๋ก
process.env.PUBLUC_URL + '/๊ฒฝ๋ก' ๋ฅผ ์ด์ฉํด ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
๋ง์ฝ ๋ฉ์ธ URL์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ฌ ๋๋ '/๊ฒฝ๋ก'๋ง์ผ๋ก๋ ๊ฐ์ ธ์ฌ ์ ์์ง๋ง
endpoint๊ฐ ์ถ๊ฐ๋ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ์์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ฌ ๋ ํ์ผ์ ์ฐพ์ง ๋ชปํ ์ ์๊ธฐ ๋๋ฌธ์
process.env.PUBLUC_URL์ ๋ถ์ฌ์ฃผ๋ ๊ฒ์ด ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ด๋ค.
<img>ํ๊ทธ css์์ฑ
1) ์์ ๋ด ์ด๋ฏธ์ง ํฌ๊ธฐ(object-fit) https://developer.mozilla.org/ko/docs/Web/CSS/object-fit
fill - ์์ ์ฝํ ์ธ ๋ฐ์ค์ ๋ง์ถ๊ธฐ
contain - ๋น์จ ์ ์ง&๋ฐ์ค ๋ด์ ๋ค์ด๊ฐ๋๋ก ์กฐ์
cover - ๋น์จ ์ ์ง&๋ฐ์ค ๊ฐ๋ ์ฑ์ฐ๊ธฐ
scale-down - none, contain ์ค ์ฝํ ์ธ ํฌ๊ธฐ๊ฐ ์์์ง๋ ๊ฒ
2) ์์ ๋ด ๋ฐ์ค ์์น(object-position) https://developer.mozilla.org/ko/docs/Web/CSS/object-position
์์น ์ ์ฉ์ : ์ข|์ฐ ์|ํ
ex) object-position: 0px 0px; (left top)
'๐ | WEB DEV > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] 9. ๋ผ์ฐํ -1 (react-router-dom์ธํ , Routes, Route, Link) (0) | 2023.07.09 |
---|---|
[React] 8. ๋ค๋ฅธ ํ์ผ์์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ (0) | 2023.07.06 |
[React] CORS ์๋ฌ ํด๊ฒฐํ๊ธฐ (http-proxy-middleware) (0) | 2023.06.30 |
[React] 6. props (0) | 2023.05.29 |
[React] 5. ๋ฐ๋ณต๋๋ ๋ถ๋ถ ์ถ์ฝํ๊ธฐ (map) (0) | 2023.05.28 |
๋๊ธ