ํจ์๋ช ์์ฑ
ํจ์๋ช
์ ์์ฑํ ๋๋ ๋์ฌ+๋ช
์ฌ ํํ๋ก ๊ตฌ์ฑํ๋ค.
ex) *getUserInfomation()*
์ฝ์ด ์ฌ์ฉ ์์
letย idx;ย //ย badโ
letย index;ย //ย goodโ
letย cnt;ย //ย badโ
letย count;ย //ย goodโ
letย arr;ย //ย badโ
letย array;ย //ย goodโ
magic number ์ง์
์ฝ๋์์ ์ซ์๋ฅผ ์ง์ ์ฌ์ฉํ๋ magic number๋ฅผ ์ง์ํ๊ณ ,
magic number๋ ๋ฌธ์์ด์ ๋น๊ตํ ๊ฒฝ์ฐ, constant.js
์ ์์ํ ํ์ฌ ๊ด๋ฆฌํ๋ค.
//constant.js
const LEFT = 'left';
const LOGIN_ERROR_MESSAGE = '๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.';
//other_logic_file.js
if (dir === LEFT) {
ย ย //...
}
๋น๋๊ธฐ ํจ์์ ์ฌ์ฉ์ Promiseํจ์์ ์ฌ์ฉ์ ์ง์ํ๊ณ async, await๋ฅผ ์ฌ์ฉํ๋ค.
๋ก์ง์ ์ง๋ ๋ฐ ์์ด promise๋ฅผ ๋ถ๊ฐํผํ๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์ฃผ์์ผ๋ก ํ์ํ๊ณ commit์ ๊ทธ ์ด์ ๋ฅผ ์์ฑํฉ๋๋ค.
ํ์ผ ํ์ฅ์๋ tsx
๋ก ํ๋ค.
TSX ์ฌ์ฉํ๋ฉด ์ต์๋จ์ React ๋ฅผ import ํด์จ๋ค.
v.18.3.1
์ฌ์ฉprops๋ ๊ตฌ์กฐ๋ถํด ํ ๋น์ผ๋ก ๋ฐ์์จ๋ค.
const Button = ({type, onClick}) => {};
์ปดํฌ๋ํธ ํจ์๋ ํจ์ ์ ์ธ๋ฌธ (Function Declaration) ์ ์ฌ์ฉํ๋ค.
export default function MyComponent() {
return <div>Hello World</div>;
}
์ผ๋ฐ ํจ์๋ ํ์ดํ ํจ์ (Arrow Function) ๋ฅผ ์ฌ์ฉํ๋ค.
const Button = ({type, onClick}) => {};
component ํด๋์ ์ต์๋จ ํ์ผ์ ์ด๋ฆ์ component ํจ์ ์ด๋ฆ์ ๋ฐ๋ผ๊ฐ๋ค.
ex) *components/Header/index.tsx*
CSS-in-JS ๋๊ตฌ์ธ styled-components
๋ฅผ ์ฌ์ฉํ๋ค.
์คํ์ผ ๊ด๋ จ ์ฝ๋๋ ๋งจ ํ๋จ์ ์์น์ํจ๋ค.
๊ณต์ฉ์ผ๋ก ์ฌ์ฉ๋๋ ์คํ์ผ์ styles ๊ฒฝ๋ก์ ์์น ์ํจ๋ค.
ex) client\\src\\**styles**\\themes.ts
wrapper์ ์คํ์ผ ์ ์ฉํ์ง ์๋๋ค๋ฉด, <>
๋ก ํ๋ค.
styles.js
์์ styled๋ก ๋ง๋ ์ปดํฌ๋ํธ๋ export { component }
๋ก ๋ด๋ณด๋ธ๋ค.