๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฐœ๋ฐœ ๊ณต๋ถ€

(43)
[์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ] React ์ฑ…์ฝ๊ธฐ : Chapter 9-12 ์ •๋ฆฌ [ ์ฐธ๊ณ  ์„œ์  : ์†Œํ”Œ์˜ ์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ(2ํŒ) - ํ•œ๋น›๋ฏธ๋””์–ด ] โœ… ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง (Conditional Rendering)์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ Œ๋”๋ง ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋„๋ก ํ•˜๋Š” ๊ฒƒ๐Ÿ”น 1. ์—˜๋ฆฌ๋จผํŠธ ๋ณ€์ˆ˜๋ฆฌ์•กํŠธ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์ €์žฅํ•ด์„œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์„ ํƒ์ ์œผ๋กœ ๋ Œ๋”๋ง let button;if (isLoggedIn) { button = ;} else { button = ;}return {button};๐Ÿ”น 2. ์ธ๋ผ์ธ ์กฐ๊ฑดโ–ถ ์ธ๋ผ์ธ If์กฐ๊ฑด๋ฌธ์„ ์ฝ”๋“œ ์•ˆ์— ์ง์ ‘ ์ง‘์–ด๋„ฃ๋Š” ๋ฐฉ์‹๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž && (AND) ์‚ฌ์šฉ์•ž์˜ ์กฐ๊ฑด์ด true์ผ ๋•Œ๋งŒ ๋’ค์˜ ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๋ Œ๋”๋ง๋จ{isLoggedIn && }โ–ถ ์ธ๋ผ์ธ If-Else์‚ผํ•ญ ์—ฐ์‚ฐ์ž ? : ์‚ฌ์šฉ์กฐ๊ฑด์ด true๋ฉด ์ฒซ ๋ฒˆ์งธ, false๋ฉด ๋‘ ๋ฒˆ์งธ ํ•ญ๋ชฉ์„ ๋ Œ๋”๋ง์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€..
[์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ] React ์ฑ…์ฝ๊ธฐ : Chapter 6-8 ์ •๋ฆฌ [ ์ฐธ๊ณ  ์„œ์  : ์†Œํ”Œ์˜ ์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ(2ํŒ) - ํ•œ๋น›๋ฏธ๋””์–ด ] ๐Ÿ”น React State ์ •๋ฆฌโœ… State๋ž€?๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉState๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žฌ๋ Œ๋”๋ง๋จ๋ Œ๋”๋ง์ด๋‚˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์— ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’๋งŒ State์— ํฌํ•จํ•ด์•ผ ํ•จ๐ŸŽฏ State์˜ ํŠน์ง•JavaScript ๊ฐ์ฒด ํ˜•ํƒœ์ง์ ‘ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ → ๋ฐ˜๋“œ์‹œ ์ง€์ •๋œ ๋ฐฉ๋ฒ•(set ํ•จ์ˆ˜)์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•จโš›๏ธ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์—์„œ State ์‚ฌ์šฉ๋ฒ•์ƒ์„ฑ์ž์—์„œ State๋ฅผ ํ•œ ๋ฒˆ์— ์ •์˜State ๋ณ€๊ฒฝ ์‹œ setState() ํ•จ์ˆ˜ ์‚ฌ์šฉโšก ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์—์„œ State ์‚ฌ์šฉ๋ฒ•useState() Hook์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ State๋ฅผ ์ •์˜๊ฐ State๋ณ„๋กœ ์ œ๊ณต๋˜๋Š” set ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ๐Ÿ”น React ์ƒ๋ช…์ฃผ๊ธฐ(Life..
[์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ] React ์ฑ…์ฝ๊ธฐ : Chapter 0-5 ์ •๋ฆฌ ํ† ์Šค๋ฑ…ํฌ ๋ฉ˜ํ† ๋‹˜ ์กฐ์–ธ์„ ๋”ฐ๋ผ์„œ ์š”์ฆ˜ ์ „๊ณต์„œ์ (?) ๊ฐœ๋ฐœ์„œ์ (?) ์ฑ…๋“ค์„ ์ฝ๊ณ  ์žˆ๋Š”๋ฐ,์˜ค๋ž˜ ๊ธฐ์–ตํ•˜๋ ค๋ฉด ๋‚ด์šฉ์„ ์š”์•ฝํ•ด๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„ ์ •๋ฆฌํ•œ๋‹ค. ์ด ์ฑ…์€ ์ž…๋ฌธ์ž ๊ธฐ์ค€์ด๋ผ, ์„ค๋ช…์ด ๊ฝค ์ž์„ธํ•˜๋‹ค.ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ฐœ๋…์„ ํƒ„ํƒ„ํžˆ ๋‹ค์ง€๋Š” ๋ฐ์— ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์ง€๊ธˆ ์ฝ๊ณ  ์žˆ๋Š”๊ฑด React ๋„์„œ๋ž‘ Node JS ๋„์„œ์ธ๋ฐ,์ด๋ฒˆ ๋‹ฌ ๋‚ด๋กœ ์™„๋…ํ•˜๊ณ  Next JS์™€ Springboot ์ฑ…๋„ ์ฝ์–ด๋ณด๊ณ  ์‹ถ๋‹ค. ์–ด๋ฆด ๋• ์ฑ…์„ ์ฐธ ์ข‹์•„ํ–ˆ๋Š”๋ฐ, ์š”์ฆ˜์€ ์ฝ์„ ์‹œ๊ฐ„์ด ๋งŽ์ด ์—†์–ด์„œ ์•„์‰ฝ๋‹ค ๐Ÿค“๐Ÿ“–์š”์•ฝ์€ ๊น”๋”ํ•˜๊ฒŒ ํ•˜๋ ค๊ณ  chatgpt์˜ ๋„์›€์„ ๋ฐ›์•˜๋‹ค![ ์ฐธ๊ณ  ์„œ์  : ์†Œํ”Œ์˜ ์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ(2ํŒ) - ํ•œ๋น›๋ฏธ๋””์–ด ] ๐Ÿ”น ์›น ๊ฐœ๋ฐœ ๊ธฐ๋ณธ ๊ฐœ๋… ์ •๋ฆฌ๐Ÿ— HTML (HyperText Markup Language)์›น์‚ฌ์ดํŠธ์˜ ๋ผˆ๋Œ€๋ฅผ ๊ตฌ์„ฑํ•˜..
[ํ•œ๊ฒฝxToss] ๐Ÿ‘์ถ”๊ฐ€๊ณต๋ถ€) Node JS, MySQL ์„œ๋ฒ„ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… / API ๋งŒ๋“ค๊ธฐ ER_NOT_SUPPORTED_AUTH_MODE ์—๋Ÿฌ mysql ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๊ธฐ๋กํ„ฐ๋ฏธ๋„์—์„œ node mysql-server.js ๋กœ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.code: 'ER_NOT_SUPPORTED_AUTH_MODE',errno: 1251,sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',sqlState: '08004',fatal: true  ๋ถ„๋ช… ๋ชฝ๊ณ ๋””๋น„ ์“ธ๋•Œ๋Š” ์ž˜๋๋Š”๋ฐ..!!!์ด ์˜ค๋ฅ˜๋Š” MySQL ์„œ๋ฒ„์˜ ์ธ์ฆ ๋ฐฉ์‹์ด ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ MySQL ํด๋ผ์ด์–ธํŠธ์—์„œ ์ง€์›๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค MySQL 8.0 ์ด์ƒ์—์„œ๋Š” ๊ธฐ๋ณธ ์ธ์ฆ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด caching_sha2_passwor..
[ํ•œ๊ฒฝxToss] Fullstack ๊ฐœ๋ฐœ - ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  ๐Ÿ“š๐Ÿ‘ฉ‍๐Ÿ’ป [ํ•œ๊ตญ๊ฒฝ์ œ์‹ ๋ฌธ with toss bank] Tech ์šฐ์ˆ˜์ธ์žฌ ์–‘์„ฑ์„ ์œ„ํ•œ ํ’€์Šคํƒ ๊ณผ์ • 2๊ธฐ ์•ฝ 3์ฃผ ๋™์•ˆ ์ง„ํ–‰ํ•œ ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ.์ง€๋‚œ ์ฃผ์— ๋ฐœํ‘œ๊ฐ€ ๋๋‚ฌ๋Š”๋ฐ, ๋” ๋ฏธ๋ค˜๋‹ค๊ฐ€๋Š” ๊ธฐ์–ต์ด ํœ˜๋ฐœ๋  ๊ฒƒ ๊ฐ™์•„ ์„œ๋‘˜๋Ÿฌ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค โฌ‡๏ธ ํ”Œ์  ์†Œ์Šค โฌ‡๏ธ https://github.com/inthhh/bufl_fe GitHub - inthhh/bufl_fe: ๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค. Contribute to inthhh/bufl_fe development by creating an account on GitHub.github.com ๋ชฉ์ฐจ 1. ํŒ€ ๋นŒ๋”ฉ2. ์ฃผ์ œ3. ๊ธฐํš์•ˆ ์ž‘์„ฑ4. ๊ฐœ๋ฐœ    - ๊ฐœ๋ฐœ ์ง„ํ–‰    - ์‚ฌ๊ฑด์‚ฌ๊ณ 5. ๋ฐœํ‘œ ์ค€๋น„ 1. ํŒ€ ๋นŒ๋”ฉํŒ€์€ ๊ฐ•์‚ฌ๋‹˜๊ป˜์„œ ์ž„์˜๋กœ..
[ํ•œ๊ฒฝxToss] 8์ฃผ์ฐจ ์š”์•ฝ : Typescript + ์ค‘๊ฐ„ ํŒ€ํ”Œ๐Ÿฅท * ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  typescript ํŒ€ํ”Œ ์‹œ์ž‘ ๋‹น์‹œ ํŒ€์›๋“ค์—๊ฒŒ react ts๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜์ž๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ,๋งˆ์นจ ๊ฐ•์‚ฌ๋‹˜์ด ๊ฐ•์˜๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์…จ๋‹ค.ts๋ฅผ ๊ฒฝํ—˜ํ•ด๋ณด์ง€ ์•Š์€ ํŒ€์›๋“ค์ด ์žˆ์—ˆ๊ธฐ์— ๋‹คํ–‰์ด์—ˆ์Œ!! //ํƒ€์ž… ๋‹จ์–ธ(Assertion) : ํ˜•๋ณ€ํ™˜๊ณผ ์œ ์‚ฌtype Person = { name: string age: number} //ํƒ€์ž…์ขํžˆ๊ธฐfunction func1(value: number | string) { //value.toFixed() //์‹ค์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ //value.toUpperCase() //๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ธฐ if (typeof value === 'number') { value.toFixed() } else if (typeof v..
[ํ•œ๊ฒฝxToss] 6-7์ฃผ์ฐจ ์š”์•ฝ : React.js ์‹ฌํ™”, NodeJS ๊ธฐ์ดˆ ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  React ๊ธฐ์ดˆList & Key๋ฆฌ์ŠคํŠธ(List): ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๋™์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” JSX ์š”์†Œ๋“ค์˜ ์ง‘ํ•ฉ React์—์„œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ํ•ญ๋ชฉ์„ JSX ์—˜๋ฆฌ๋จผํŠธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ™”๋ฉด์— ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.ํ‚ค(Key): ๋ฆฌ์•กํŠธ์—์„œ ๊ฐ ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค. ํ‚ค๋Š” ๋ฆฌ์•กํŠธ๊ฐ€ ์–ด๋–ค ์š”์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€, ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€, ์ œ๊ฑฐ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜์—ฌ DOM์„ ํšจ์œจ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.Form๋ฆฌ์•กํŠธ์—์„œ ์ž…๋ ฅํผ(input form)์€ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ ์ƒํƒœ(state)๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅํผ์„ ๋งŒ๋“ค ๋•Œ๋Š” ๋ฆฌ์•กํŠธ์˜ ์ƒํƒœ(state)์™€ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค..
[React] Redux ๊ฐœ๋… ๋ฐ ์—ญํ• , ํŒŒ์ผ ๊ตฌ์กฐ ๋””๋ ‰ํ† ๋ง ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์ง„ํ–‰ํ•  ๋•Œ๋Š” ๋ฆฌ๋•์Šค ๋‚ด์šฉ์„ ํ•œ ํŒŒ์ผ์—๋‹ค๊ฐ€ ๋ชจ์•„๋‘๋‹ค๊ฐ€,์ธํ„ด ํ•˜๋ฉด์„œ ๋””๋ ‰ํ† ๋ง ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์—ˆ๋Š”๋ฐ ๋˜ ์จ๋จน์„ ์ผ์ด ์ƒ๊ฒจ ๊ธฐ๋กํ•ด๋‘”๋‹ค. Redux๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ํ•œ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค. 1๏ธโƒฃ  Redux ํŒŒ์ผ ๊ตฌ์กฐ (in React typescript) /redux /actions # ์•ก์…˜ ์ •์˜ (์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ •์˜) categoryActions.ts /reducers # ๋ฆฌ๋“€์„œ ์ •์˜ (์ƒํƒœ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋ ์ง€ ๊ฒฐ์ •) categoryReducer.ts store.ts # ์Šคํ† ์–ด ์„ค์ • (์ „์ฒด ์ƒํƒœ ๊ด€๋ฆฌ) ๊ฐ ํŒŒ์ผ์€ Redux์˜ ํ•ต์‹ฌ ์š”์†Œ์ธ ์•ก์…˜(Acti..

728x90
๋ฐ˜์‘ํ˜•