React: ํ๋ก ํธ์ค๋ ํ๋ ์ ์ํฌ ์ค ํ๋
<React ์ฌ์ฉํ๋ ์ด์ >
1. ์ ๊ธฐ์ ๊ฐ๋ฐ ์ ๋๊ฐ ์ฌ์ฉํ๊ณ , ์ด๋์ ์ฌ์ฉ๋๊ณ , ๊ธฐ์ ์ด ์ผ๋ง๋ ์ค์ํ์ง ํ์ ํด์ผํจ -> ์์ 1๋ง๊ฐ์ ์ฌ์ดํธ๊ฐ ๋๋ถ๋ถ React์ฌ์ฉํจ(์ธ์คํ๊ทธ๋จ, ํ์ด์ค๋ถ, ๋ทํ ๋ฑ)
2. ํ์ด์ค๋ถ์ด React JS๋ง๋ค์์. ๊ณ์ React JS์ ํฌ์ํ๊ณ ์๊ณ ๋ฌด๋ฃ๋ก ์ฌ์ฉ๊ฐ๋ฅํ๊ฒ ๋ ํจ
3. ํฐ ์ปค๋ฎค๋ํฐ ์กด์ฌ -> Javascript์ ์์ฃผ ๊ฐ๊น์
โ React Native: iOS๋ ์๋๋ก์ด๋ ์ดํ์ React JS ์ฝ๋๋ก ๋ง๋ค ์ ์๊ฒ ํด์ค
4. React JS๋ฅผ ํ ๋ฒ ๋ฐฐ์ฐ๋ฉด ์ฌ๋ฌ ๊ณณ์ ์ฌ์ฉ๊ฐ๋ฅ
โ ํฌ๋ก๋ฏธ์: ๊ตฌ๊ธ ํฌ๋กฌ์ด ๋ฒ ์ด์ค๋ก ์ผ๋ ํ๋ก์ ํธ(๊ฐ์ข ๊ด๊ณ ์ฐจ๋จ)-> ๋ค์ด๋ฒ ์จ์ผ์์ ์ฌ์ฉ
javascript๊ฐ ์ธ๊ธฐ ์๋ ์ด์
1. ๋ชจ๋ ๊ณณ์์ ์ธ๊ธฐ ํญ๋ฐ์ -> ๊ฑ ๊ฑฐ์ ๋ค ์ฌ์ฉํจ
2. ์ ๋ฌธ๊ฐ๊ฐ ๋๋ฉด ์งฑ์งฑํ ๋ฏธ๋ ๋ณด์ฅ(์ ์ฉํ ์ ์๋ ๊ณณ์ด ๋ง์)
3. ๋ฐ๋ก ์ค์นํ ํ์ ์์ -> ์น์ฌ์ดํธ์ ๋ด์ฅ๋์ด ์์
4. ํ๋ก ํธ์๋, ๋ฐฑ์๋ ๋ ๋ค ์ฌ์ฉ ๊ฐ๋ฅ
โ ๋ฐ๋๋ผjs: ํ๋ ์์ํฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์์ํ ์๋ฐ์คํฌ๋ฆฝํธ
โ three.js: ์๋ฐ์คํฌ๋ฆฝํธ๋ก 3D๋ฅผ ๊ตฌํํ๊ฒ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
โ ml5.js: ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์์ฑํ๋ ์น์ฌ์ดํธ ๊ตฌ์ถํ์ฌ ๊ทธ ๋ชจ๋ธ ํ๋ จ์ํด
replit.com
<react ๋ฐฐ์ฐ๊ธฐ ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋จผ์ ๊ณต๋ถ!>
โ HTML์ด CSS์ JS๋ฅผ ๊ฐ์ ธ์ด
- string: ์ฒ์๋ถํฐ ๋๊น์ง ๋ชจ๋ ๊ธ์๋ก ์ด๋ฃจ์ด์ ธ ์์์ ๋ปํจ
- ์ฝ์์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ์ผ: console.log
- ๋ณ์(variable): ๊ฐ์ ์ ์ฅํ๊ฑฐ๋ ์ ์งํ๋ ์ญํ -> const์ฌ์ฉ(๋ฐ๋์ง ์์ ๊ฐ)
- camel case(๋ํ): veryLongVariableName -> js์์ ์ฌ์ฉ
- snack case(๋ฑ): very_long_variable_name -> ํ์ด์ฌ์์ ์ฌ์ฉ
** const VS let
const๋ constant(์์)๋ผ๋ ๊ฒ, ๊ฐ์ด ๋ฐ๋ ์ ์์
let์ ์๋ก์ด ๊ฒ์ ์์ฑํ ๋ ์ฌ์ฉ -> ๋ณ์๋ฅผ ์ ๋ฐ์ดํธ ํ ๋ ์ฌ์ฉ, ๊ฐ์ ๋ฐ๊ฟ ์ ์์
var: ์ธ์ ์ด๋์๋ ์ ๋ฐ์ดํธ ๊ฐ๋ฅ(๋จ, ๊ท์น ์กด์ฌ: ๊ฐ ๋ณดํธ ๋ชปํจ(๋ฐ๋๋์ง ์๋ฐ๋๋์ง ์ ์ ์์)) -> ์ด๋ฌํ ๋ฌธ์ ๋๋ฌธ์ const์ let ์ถ๊ฐ๋จ
โ const ์ฌ์ฉ! let์ ๊ฐ๋! var๋ ์ฌ์ฉX
- null๊ณผ false๋ ๋ค๋ฆ: null์ ๋ณ์ ์์ ๊ฐ์ด ์๋ค๋ ์๋ฏธ, false๋ ํ๋์ ๊ฐ์
true: ์ผ์ ธ ์์
false: ๊บผ์ ธ์์
null: ๋ณ์ ์์ ์๋ฌด๊ฒ๋ ์์
undefined: ์ ์๋์ด ์์ง ์์(๋ณ์๋ง ์์ฑํ๊ณ , ๊ฐ์ ์ ๋ ฅ ์ํจ)
objects (๊ฐ์ฒด)
-์ค๊ดํธ๋ก ๋ฌถ๊ธฐ
function (ํจ์)
- ์ด๋ค ์ฝ๋๋ฅผ ์บก์ํํ์ฌ ์คํ์ ์ฌ๋ฌ๋ฒ ํจ
- () ํ์
- ํจ์์ ๋ค์ด๊ฐ ๋ด์ฉ์ ์ค๊ดํธ๋ก ๋ฌถ์
- argument๋ ์ฌ๋ฌ๊ฐ ์์ ์ ์์->argument๋ก ์ธ๋ถ๋ก๋ถํฐ ๊ฐ์ ๋ฐ์์ด
*NaN = not a number
conditional (์กฐ๊ฑด๋ฌธ)
*prompt(msg, default): ์ฌ์ฉ์์๊ฒ msg๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ๊ฐ์ ๋ฃ์ผ๋ผ๊ณ ๋งํจ ->์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฉ์ถ๊ฒ ํจ, ๋ณ๋ก ์์์จ ->์ฆ ์ฌ์ฉ X
- ๋ณ์์ ํ์ ๋ณด๋ ๋ฐฉ๋ฒ: typeof ๋ณ์
- string -> number : parseInt(๋ฌธ์์ด)
- isNaN(argument): argument๊ฐ number์ธ์ง ํ์ธ
- if(condition){
}else{
}
**document๊ฐ ๋ชจ๋ ์นํ์ด์ง์ ์์์ !!!
์๋ฐ์คํฌ๋ฆฝํธ๋ก html ๋ณ๊ฒฝ ๊ฐ๋ฅ
์๋ฐ์คํฌ๋ฆฝํธ์์ html ์ ๊ทผํ๋ ๋ฐฉ๋ฒ
1) html element๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ๊ทผ(document์ ์๋ ์์๋ค์ ์์ฑ, ๋ณ๊ฒฝ)
-querySelector: ๋จ ํ๋์ element๋ฅผ returnํด์ค ->css์ ๋ ํฐ๋ฅผ ์ด์ฉํ์ฌ ๊ฒ์
Events
- ๋ด๊ฐ ํด๋ฆญํ๋ ๊ฒ, h1์๋ก ๋ง์ฐ์ค๊ฐ ์ฌ๋ผ๊ฐ๋ ๊ฒ, emdemd
- ์๋ฐ์คํฌ๋ฆฝํธ์์๋ event๋ฅผ listenํด์ผํจ!! ->addEventListener๋ก ์ด๋ฒคํธ๋ฆฌ์ค๋ ์ถ๊ฐ
- ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ํจ์ ํธ์ถ!
* ๋ฆฌ์จํ๊ณ ์ถ์ ์ด๋ฒคํธ ์ฐพ์ ๋ h1-web apis -mdn?
* console.dir()
**
1. element ์ฐพ๊ธฐ
2. event๋ฅผ listenํ๊ธฐ
3. ํด๋น event์ ๋ฐ์ํ๊ธฐ
toggle์ฌ์ฉ??
** string๊ณผ ๋ณ์๋ฅผ ๊ฐ์ด ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ
1) + ๊ธฐํธ ์ฌ์ฉํ๊ธฐ: "string"+๋ณ์๋ช ;
2) ๋ฐฑํฑ๊ธฐํธ (`)์ฌ์ฉํ๊ธฐ: `string ${๋ณ์๋ช } string~~~~`; -> ๋ณ์๋ช ์ value๊ฐ์ผ๋ก ๋ฐ๋์ด ์ถ๋ ฅ
localStorage: ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ค๊ณ ์ญ์ ํ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ db๊ฐ์ api
interval: ๋งค๋ฒ ์ผ์ด๋์ผ ํ๋ ๋ฌด์ธ๊ฐ(์๊ฐ ์ง์ ) -> setInterval(ํธ์ถํ๋ ค๋ function์ด๋ฆ, ์๊ฐ ๊ฐ๊ฒฉ)
> setInterval๊ณผ ๋น์ทํ ํจ์: setTimeout
padStart: padding์ถ๊ฐํ๊ธฐ(์๋ถ๋ถ์) -> ๋ฌธ์์ด.padStart(๋ฌธ์์ด๊ธธ์ด,์ฑ์ธ ๋ฌธ์์ด)
padEnd: padding์ถ๊ฐํ๊ธฐ(๋ท๋ถ๋ถ์) -> ๋ฌธ์์ด.padEnd(๋ฌธ์์ด๊ธธ์ด, ์ฑ์ธ ๋ฌธ์์ด)
Math์ด์ฉ
- round: ๋ฐ์ฌ๋ฆผ
- ceil: ์ฌ๋ฆผ
- floor: ๋ด๋ฆผ
- random: ๋ฌด์์
JSON
- JSON.stringify([array]): array๋ฅผ ๊ฐ์ง๊ณ ๋จ์ํ string์ผ๋ก ๋ณํ
- JSON.parse(string): string์ ๊ฐ์ง๋ก js๊ฐ ์ดํดํ ์ ์๋ array๋ก ๋ณํ
** ์๋ชจ๋ฅด๋ ๋ถ๋ถ:
ํจ์๋ฅผ ๋ง๋๋ ๊ฒ๊ณผ ๋น์ท
filter: ์ง์ฐ๊ณ ์ถ์ item์ array์์ ์ ์ธํ์ฌ ๋ณด์ฌ์ค
'ํ๋ก ํธ์๋ > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| useRef (0) | 2022.11.16 |
|---|---|
| ๋ฆฌ์กํธ Hooks (0) | 2022.11.15 |
| ์กฐ๊ฑด๋ถ ๋ ๋๋ง (0) | 2022.11.15 |
| ๋ฆฌ์กํธ์ props (0) | 2022.11.15 |
| React ๊ธฐ์ด (0) | 2022.07.09 |