๋ฐ˜์‘ํ˜•

Framework 86

[React ์™„๋ฒฝ ๊ฐ€์ด๋“œ] section 10 : ๊ณ ๊ธ‰ ๋ฆฌ๋“€์„œ(Reducer)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€์ž‘์šฉ ์ฒ˜๋ฆฌ & ์ปจํ…์ŠคํŠธ API

์ด ๊ธ€์€ udemy์˜ React ์™„๋ฒฝ ๊ฐ€์ด๋“œ with Redux, Next.js, TypeScript ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 117. ๋ชจ๋“ˆ ์†Œ๊ฐœ Effects, ReducersContext Working with (Side) Effects MAnaging more Complex State with Reducers Managing App - Wide or Component - Wide State with Context 118. "Side Effects"์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ useEffect๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. Main Job : Render UI & React to User Input Evaluate & Render JSX Manage State & Props React to (User) Events & ..

[Next.js] url ๋กœ ํŠน์ • page์— ์ง์ ‘ ์ ‘๊ทผ ๋ง‰๋Š” ๋ฐฉ๋ฒ•

Intro Next.js๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ์ ํŠธ์—์„œ ํŠน์ • ํŽ˜์ด์ง€๋“ค์„ ์ˆจ๊ธฐ๋Š” ์š”์ฒญ์‚ฌํ•ญ์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต Next.js๋Š” pages๋ผ๋Š” ํด๋” ํ•˜์œ„์— ํŒŒ์ผ ํ˜น์€ ํด๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ํ•ด๋‹น ํŒŒ์ผ/ํด๋”๋ฅผ ์ž๋™์œผ๋กœ ๋ผ์šฐํŒ… ํ•ด์ค๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋‹จ์ˆœํ•˜๊ฒŒ NavBar ๋„ค๋น„๋ฐ”์— ์žˆ๋Š” ํŠน์ • link tag ๋ฅผ ์ฃผ์„์ฒ˜๋ฆฌํ–ˆ์ง€๋งŒ, url๋กœ ํ•ด๋‹น ํŽ˜์ด์ง€ ์ง์ ‘ ์ ‘๊ทผ์‹œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. How to do Next.js์˜ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด, Next.js๋Š” Redirects๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๊ธฐ๋Šฅ์€ Next.js ํ”„๋กœ์ ํŠธ ํด๋” root์— ์žˆ๋Š” next.config.js ํŒŒ์ผ์—์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Redirects Redirects allow you to redirect an incoming request path ..

Framework/Next.js 2022.10.03

[React] React.FC ์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ 

Intro React.FC์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. type Props = { }; const TestComponent: React.FC = () => { return ( TestComponent ); }; export default TestComponent; ํ˜„์žฌ React typescript๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. FC๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ์ด์œ  ํ•˜์ง€๋งŒ ๐Ÿคจ React typescript๋Š” ๊ทธ๋‹ค์ง€ ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” props์ด ์•”์‹œ์ ์œผ๋กœ ๋“ค์–ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. children์„ ์•”์‹œ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค ํŒจํ„ด์„ ์ด์šฉํ•  ๋•Œ ๋” ๋ถˆํŽธํ•ฉ..

Framework/React 2022.10.02

[React] innerHTML & ๋™์ ์œผ๋กœ HTML ์ฝ”๋“œ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro react ์—์„œ ๋™์ ์œผ๋กœ HTML ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํ•œ ์˜ˆ์‹œ๋กœ "message" : "No: 1, 2\nHello World!" ํ•ด๋‹น text ์—์„œ \n ๋ฅผ ์‹ค์ œ ํƒœ๊ทธ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. import "./App.css"; function App() { const message = "No: 1, 2\nHello World!"; return ( {message} ); } export default App; ํ˜„์žฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. How to react ์—์„œ๋Š” ํ…์ŠคํŠธ๋กœ ๋œ HTML ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” react์˜ ๊ทœ์น™์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. dangerouslySetInnerHTML={{ __html: htmlCode }} ..

Framework/React 2022.10.02

[React] Warning: validateDOMNesting(...): <div> cannot appear as a child of <tbody> ์˜ค๋ฅ˜

Intro ์ „๋‹ฌ๋ฐ›์€ props๋ฅผ map ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ table๋ฅผ ๋งŒ๋“ค๋˜ ๋„์ค‘ ๋‹ค์Œ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. Warning: validateDOMNesting(...): cannot appear as a child of test test test test test test {props.map((item, index) => { return ( {item} {item} {item} {item} {item} {item} ); })} ์ œ๊ฐ€ ๋ดค์„ ๋•Œ๋Š” ๋ถ„๋ช… ๊ฐ ์ž์‹์— index ๋ผ๋Š” key ๊ฐ’์„ ๋ถ€์—ฌํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ์š”.. Why? ํ•˜์ง€๋งŒ..์•Œ๊ณ ๋ณด๋‹ˆ ์›์ธ์€ ๋ฐ”๋กœ ์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.. key ๊ฐ’์€ root component์— ์ ์šฉ ๋˜๋Š” ๊ฒƒ์ด ์›์น™์ด๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ํ•˜์ง€๋งŒ ์ €๋Š” OtherComponent ๋ฅผ ํ•จ๊ป˜ ์ž‘์„ฑ..

Framework/React 2022.10.01

[React ์™„๋ฒฝ ๊ฐ€์ด๋“œ] section 9 : ํ”„๋ž˜๊ทธ๋จผํŠธ ์ž‘์—…, Portals & "Refs"

์ด ๊ธ€์€ udemy์˜ React ์™„๋ฒฝ ๊ฐ€์ด๋“œ with Redux, Next.js, TypeScript ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 108. ๋ชจ๋“ˆ ์†Œ๊ฐœ JSX Limitations & Fragments Getting a Cleaner DOM with Portals Working with Refs 109. JSX ์ œํ•œ ์‚ฌํ•ญ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ƒ์ˆ˜์— ์ €์žฅํ•˜๋Š” ๊ฐ’์€ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค. 1. div tag ์‚ฌ์šฉํ•˜๊ธฐ return ( {error && ( )} Username Age (Years) Add User 2. ๋„ค์ดํ‹ฐ๋ธŒ JS array ์‚ฌ์šฉํ•˜๊ธฐ return [ error && ( ), Username Age (Years) Add User , ]; → ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” ๋ฆฌ์•กํŠธ JSX ์š”..

[React ์™„๋ฒฝ ๊ฐ€์ด๋“œ] section 8 : ์—ฐ์Šต ํ”„๋กœ์ ํŠธ ์™„๋ฃŒ

์ด ๊ธ€์€ udemy์˜ React ์™„๋ฒฝ ๊ฐ€์ด๋“œ with Redux, Next.js, TypeScript ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 97. ๋ชจ๋“ˆ ์†Œ๊ฐœ ์—ฐ์Šต ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ 98. "์‚ฌ์šฉ์ž" ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ Technically, the React import is not required in all React projects as you learned. But you're never wrong with adding it. import React from "react"; 99. ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ "์นด๋“œ" ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ ๋‘ ๊ฐœ์˜ css ํด๋ž˜์Šค๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• import React from "react"; import classes from "./Card.module.css"; const Card = ..

[React ์™„๋ฒฝ ๊ฐ€์ด๋“œ] section 7 : ๋ฆฌ์•กํŠธ ์•ฑ ๋””๋ฒ„๊น… ํ•˜๊ธฐ

์ด ๊ธ€์€ udemy์˜ React ์™„๋ฒฝ ๊ฐ€์ด๋“œ with Redux, Next.js, TypeScript ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 91. ๋ชจ๋“ˆ ์†Œ๊ฐœ Debugging React Apps Finding & Fixing Errors Understanding Error Messages Debugging & Analyzing React Apps Using the React DevTools 92. ๋ฆฌ์•กํŠธ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ดํ•ดํ•˜๊ธฐ ์Šค์Šค๋กœ ์˜ค๋ฅ˜๋ฅผ ์ดํ•ดํ•˜๊ณ  ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ณ , ์–ด๋””์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๊ทธ ์ค„์ด๋‚˜ ํŒŒ์ผ์„ ์‚ดํŽด๋ด๋ผ. ๊ทธ๋Ÿฌ๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์˜ค๋ฅ˜๋“ค์€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค! Failed to compile. ./src/App.js SyntaxError: /Users/yuri/workpla..

[React ์™„๋ฒฝ ๊ฐ€์ด๋“œ] section 6 : ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง

์ด ๊ธ€์€ udemy์˜ React ์™„๋ฒฝ ๊ฐ€์ด๋“œ with Redux, Next.js, TypeScript ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 82. ๋ชจ๋“ˆ ์†Œ๊ฐœ Conditional & Dynamic Styles Styled Components CSS Modules error error:03000086:digital envelope routines::initialization error ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์‹คํ–‰ํ•˜์ž ๋‹ค์Œ์˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋…ธ๋“œ 17๊ด€๋ จ ์—๋Ÿฌ๋กœ nvm ์„ ์‚ฌ์šฉํ•˜์—ฌ node ๋ฒ„์ „์„ ๋‚ฎ์ถฐ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋‹ˆ ์ •์ƒ ์ž‘๋™๋˜์—ˆ๋‹ค. 83. ๋™์  ์ธ๋ผ์ธ ์Šคํƒ€์ผ ์„ค์ •ํ•˜๊ธฐ input ์ฐฝ์— ์ž…๋ ฅ ์—†์ด Add Goal์„ ๋ˆŒ๋ €์„ ๋•Œ color๋ฅผ ๋™์ ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋„๋ก ํ•œ๋‹ค. Course Goal ํ•˜์ง€๋งŒ inline ์Šคํƒ€์ผ์€..

[React ์™„๋ฒฝ ๊ฐ€์ด๋“œ] section 5 : ๋ Œ๋”๋ง ๋ฆฌ์ŠคํŠธ ๋ฐ ์กฐ๊ฑด๋ถ€ Content

์ด ๊ธ€์€ udemy์˜ React ์™„๋ฒฝ ๊ฐ€์ด๋“œ with Redux, Next.js, TypeScript ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 67. ๋ชจ๋“ˆ ์†Œ๊ฐœ Outputting Dynamic Lists Of Content Rendering Contend Under Certain Conditions 68. ๋ฐ์ดํ„ฐ์™€ ๋ Œ๋”๋ง ๋ชฉ๋ก JSX ์ฝ”๋“œ์—์„œ map ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์ธ ๊ตฌ๋ฌธ์„ ์‹คํ–‰ํ•ด๋ณด๋„๋ก ํ•˜์ž. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map return ( {props.items.map((expense) => ( ))} {/* */} ); 69. State ์ €์žฅ ๋ชฉ๋ก ์‚ฌ์šฉ ์ดˆ๊ธฐ expenses ..

๋ฐ˜์‘ํ˜•