ํ๋ก์ ํธ ์งํํ๋ฉด์ ์๊ฒ๋, ๊ธฐ์ตํ๊ณ ์ถ์ ์ฝ๋, ๊ฟํ๋ฑ์ ๋ํด ์ ๋ฆฌํด๋ณด๋ ์๊ฐ~!
path, image ๋ฑ์ config.js
ํ์ผ์์ ๋ฐ๋ก ๊ด๋ฆฌํ๋ค!
config.js
์ ์ด๋ฐ์์ผ๋ก ์ด๋ฏธ์ง, ํจ์ค ๋ฑ์ ๋ณ์์ ์ง์ ํด์ค๋ค! ์์ export
๋ฅผ ๋ถ์ฌ์ค์ผ ํ๋ค.
export const TEST = '์ด๋ฏธ์ง url ์ฃผ์';
๊ทธ๋ฆฌ๊ณ ํด๋น ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ js
ํ์ผ์์...
import {TEST} from './config'; // ์ฌ์ฉํ ์ด๋ฏธ์ง๋ฅผ ๋จผ์ import ํ๊ณ !
<img alt="test" src={TEST} /> // ์ด๋ ๊ฒ ์ฌ์ฉํ๋ค!
๊ทธ๋ฐ๋ฐ ๋ง์ฝ, ์ด๋ฏธ์ง๊ฐ ์ฃผ์๊ฐ url ํ์์ด ์๋, ๋ด local์ ์ ์ฅ๋ ํ์ผ์ด๋ผ๋ฉด ์ด๋ป๊ฒ ํ ๊น?
๊ทธ๋ฐ ๊ฒฝ์ฐ์๋config.js
์export
์ ๋๋ถ์ด์,import
๋ ํด์ค์ผ ํ๋ค.import nav_logo from "Images/Nav/logo.svg"; export const LOGO = nav_logo;
์ด๋ ๊ฒ!
์ฌ์ฉํ ๋๋ ์์ ๋์ผํ๊ฒ ์ฌ์ฉํ๋ฉด ๋๋ค!
{
"productDetailInfo": [
{
"size": { "220": true, "230": false, "240": false, "250": false, "260": true, "270": false, "280": false },
// ...
}
}
๋ฐฑ์ค๋์์ ์ด๋ฐ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ฃผ๊ธฐ๋ก ํ๋ค!
size
๋ผ๋ key ๊ฐ์ ๊ฐ์ฒด๊ฐ value๋ก ๋ค์ด์ค๋๋ฐ, ์ด ๊ฐ์ฒด์ key๋ ์ค์ ์ ๋ฐ ์ฌ์ด์ฆ, value๋ ํ์ ์ฌ๋ถ์ด๋ค.
์ด์ ์ด ๊ฐ์ฒด์ key๋ง ๋ฝ์์ ์ฌ์ด์ฆ ์ ํ ๋ฒํผ์ map์ผ๋ก ์ถ๋ ฅํ๊ณ ,
๊ฐ์ฒด์ value ๊ฐ์ ์ด์ฉํด์ ํ์ ์ผ ๊ฒฝ์ฐ, ์ผ์ํ์
์ ๋ํ๋ด๋ ๋ค๋ฅธ ์คํ์ผ์ ์ง์ ํด์ค์ผ ํ๋ค.
๐คท๐ปโโ๏ธ ์ด๋ป๊ฒ ํ ์ ์์๊น?
์ฌ๋ ค๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง ์นํ๋์ด ์๋ ค์ฃผ์ Object.entries(obj)
๋ฐฉ๋ฒ์ ์ด์ฉํ๋ค!
const obj = {"220": true, "230": false, "240": false, "250": false, "260": true, "270": false, "280": false};
์์ ๊ฐ์ ๊ฐ์ฒด๊ฐ ์์๋,
console.log(Object.entries(test))
์ด๋ ๊ฒ Object.entries()
๋ฅผ ์์ฑํ๊ณ , ()
์์ ํด๋น ๊ฐ์ฒด์ ์ด๋ฆ์ ์ ์ด์ค๋ค!
์ง !!! ๋ณด์ด๋ ๊ฒ์ฒ๋ผ, ๋ฐฐ์ด์์ ๋ฐฐ์ด ํํ๋ก ๋ณํ๋๋ค!
์ด์ index
๋ฅผ ์ด์ฉํด์ ํธํ๊ฒ ์ ๊ทผํ ์ ์๋ค.
this.setState({ sizeArr: Object.entries(this.state.productData.size), }); ----- {this.state.sizeArr.map((size, idx) => ( <SizeBtn size={size[0]} soldout={size[1]} key={idx} /> ))}
์ค์ ์ฝ๋๋ ์ด๋ ๊ฒ ์์ฑํด์ฃผ์๋ค!
๋ฅํฐ๋งํด์์๋ ๊ฐ๊ฒฉ์ด ์ด๋ ๊ฒ ๋์จ๋ค!!!
์ด๋ฅผ ๋ฐฑ์ค๋์์๋ number ํ์
์ผ๋ก ๋ณด๋ด์ค๋ค! ( 119000
์ด๋ ๊ฒ~!)
์ฐ๋ฆฌ๋ ์ด 119000
์ ๋ฐ์์ ๋ญ๊ฐ ๋ง ๊ณ์ฐ์ ํ๋ค!!
๋ค ํ๊ณ ๋์ ํ๋ฉด์ ๋ฟ๋ ค์ฃผ๋ฉด.....
๋๋ ์์์๊ฒ.......... ๐จ
์ฌ๊ธฐ์ ,
๋ฅผ ๋ถ์ฌ์ฃผ๋ ค๋ฉด....๋ญ๊ฐ split
ํ๊ณ join
ํ๊ณ .... ํด์ผํ ๊ฒ ๊ฐ์ง๋ง!
JavaScript์ ๋ด์ฅ ํจ์์ธ toLocaleString()
์ ์ฌ์ฉํ๋ฉด!!!!!!!
{origin.toLocaleString()}
์ด๋ ๊ฒ ๋ฐ๋ก ๋์จ๋ค!!!!!1 ์ฐ์~~
toLocaleString()
์ด๋!?
ํน์ ์๋ฃ๊ฐ ๋ค์ด์์ ๋, ์ค์ ํด๋์ ์ง์ญ์์ ์ฝ๋ ํํ๋ก ๋ฐ๊ฟ์ฃผ๋ ํจ์์ด๋ค!!
date๊ฐ ๋ค์ด์จ๋ค๋ฉด, ์ค์ ํ ์ง์ญ์์ ์ฝ๋ ๋ ์ง ํํ๋ก ๋ฐ๊ฟ์ค๋ค!
number๊ฐ ๋ค์ด์จ๋ค๋ฉด~ ์ซ์๋ฅผ 1000๋จ์๋ก ๋์ด ์ค๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ํํ ๋จ์๋ก ์์ฝ๊ฒ ๋ฐ๊ฟ์ฃผ๋๊ฒ!
< ์ถ์ฒ : wecode์ ์๋๐, ํ๋ก ํธ์๋์ ์ ์โจ, JS ์งฑ master๐๐ปโโ๏ธ, ์ข ํ ๋ฉํ ๋๐คฉ๐คฉ๐คฉ >
componentDidMount
๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ฉด, ์ฒ์๋ถํฐ ๋ฐ์ดํฐ๊ฐ ์๋๊ฒ ์๋๋ผ!
์ฒ์ render ๋๋ ์๋ฌด ๋ฐ์ดํฐ๋ ์๋ค๊ฐ โ
componentDidMount
์คํ โ ๋ฐ์ดํฐ ๋ค์ด์ด โsetState
๋ฐ์ โ ์๋ก render ๋จ โ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ด!
์ผ ์์๋ก ์งํ๋๋ค!
๊ทธ๋ ๊ธฐ ๋๋ฌธ์, render ์์์ setStateEvent๋ฅผ ์คํํ๊ฑฐ๋, ๋ฐ์ดํฐ์ [0]
๋ฒ์งธ ์์ ๋ฑ์ ์ ๊ทผํ๊ฑฐ๋ ํ๋ฉด error๊ฐ ๋ฌ๋ค!
์ด ๋! ๋ฐ์ดํฐ๊ฐ ๋ค์ด์จ ๊ฒฝ์ฐ๋ฅผ ์กฐ๊ฑด์ผ๋ก ๊ฑธ์ด์ ์ ๊ทผํ ์ ์๋๋ฐ, &&
์ ||
๋ฅผ ์ด์ฉํด์ ๊ฐ๋จํ๊ฒ ์กฐ๊ฑด๋ฌธ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค!!!
let a = 10;
console.log(a && console.log("OK!"));
๋ผ๊ณ ์ณ๋ณด๋ฉด ๋ญ๋ผ๊ณ ๋์ฌ๊น??
์ฐ์!!!!
๋ฌด์จ์ผ์ด ์ผ์ด๋๊ฑธ๊น????
a
๊ฐ true
์ด๋ฏ๋ก(0์ด ์๋ ์ซ์๋ boolean type = true) ๋ค์ ๋์จ console.log("OK!")
๊ฐ ์คํ๋์๋ค.
์ฆ, &&
์์ ์กฐ๊ฑด์ด true ๋ผ๋ฉด, &&
๋ค์ ์ฝ๋๊ฐ ์คํ๋๋ค.
๋์ฒด ์ด๊ฒ ์ด๋ป๊ฒ ๊ฐ๋ฅํ ๊ฑด์ง๋ ๊น๊ฒ ๋ค์ด๊ฐ๋ฉด ๋๋ ์ด๋ ค์์ ธ์....(๋ผ๊ณ ์นํ๋์ด ๋ง์ํ์ฌ)
๊ทธ๋ฅ ์ด๋ ๊ตฌ๋! ํ๊ณ ์ ์จ๋จน์ผ๋ฉด ๋๋ค!
์ค์ ๋ก๋ ์ด๋ป๊ฒ ์ธ ์ ์์๊น???
{productData.originPrice && (
<ProductForm
originPrice={productData.originPrice}
salePrice={productData.salePrice}
/>
)}
productData.originPrice
(componentDidMount
๋ก ๋ฐ์์จ ๋ฐ์ดํฐ)๊ฐ true ๋ผ๋ฉด โ &&
๋ค์ ์ฝ๋๊ฐ ์คํ๋๋ค.
์ฆ, ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒฝ์ฐ์๋ง <ProductForm />
์ด๋ผ๋ component์ props ๊ฐ์ ๋๊ฒจ์ค๋ค.
||
๋ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์์๊น?
let a = 10;
let b = 0;
console.log(a || "NO?");
console.log(b || "NO?");
console์๋ ์ด๋ป๊ฒ ๋์ฌ๊น?
์ฐ์์ค!!!!!
๋ฌด์จ์ผ์ด ์ผ์ด๋๊ฑธ๊น????????
์ฒซ๋ฒ์งธ ๊ฒฝ์ฐ๋ a
๋ true ์ด๋ฏ๋ก console.log(a)
๊ฐ ์คํ๋์๋ค.
๋๋ฒ์งธ ๊ฒฝ์ฐ์๋ b
๊ฐ false ์ด๋ฏ๋ก (0์ธ ์ซ์๋ boolean type = false) console.log("NO?")
๊ฐ ์คํ๋์๋ค.
์ฆ, ||
์์ ์กฐ๊ฑด์ด true๋ฉด ํด๋น ์ฝ๋๋ฅผ ์คํ, ์์ ์กฐ๊ฑด์ด flase๋ฉด ||
๋ค์ ์ฝ๋๋ฅผ ์คํํ๋ค.
login
๊ธฐ๋ฅ์์ access token
์ ๋ฐ์๋ ์์ฃผ ํ์ฉํ๋ค!
const token = localStorage.getItem("token") || ""
token
์ด๋ผ๋ ๋ณ์์, ๋ง์ฝ ํ์ฌ localStorage
"token" ์ด๋ผ๋ ๊ฐ์ด ์์ผ๋ฉด ์ด ๊ฐ์ ์ง์ ํ๊ณ , ์์ผ๋ฉด ๋น string์ ์ง์ ํ๋ค!
< ์ถ์ฒ : wecode์ ๋น๐, ํ๋ก ํธ์๋์ ๋ณโจ, ์ต๊ฐ JS master๐๐ปโโ๏ธ, ์นํ ๋ฉํ ๋๐คฉ >