์ด์ธ์ (์ํ)
๊ฐ๋ฐ์ ์ฌ๋ํ๋ ๊ฐ๋ฐ์์ด์ 1์ธ ์คํํธ์
์ ์ฐฝ์
์์
๋๋ค.
์ค๋ ์ ๋ถํฐ ์ํํธ์จ์ด ๊ต์ก์ ๊ด์ฌ์ ๊ฐ์ง๊ณ ๊พธ์คํ ํ๋ํ๊ณ ์์ต๋๋ค ๐
์ํ์ด ๋ง๋ ํ๋ก ํธ์๋ ์ง์ ํฌํธ
์ฌ๋ผ์ด๋ ๋ชจ์
ํํ์ด์ง
๊ฐ์ ์ฝํ ์ธ
์ฒ์ ๋ง๋ ๋ฆฌ์กํธ (๐ ์ธํ๋ฐ 2022์ฐ๋ง ์ด์๋ '์๋์์ด ์ฃผ๋ ๋๋ฌด ์' ์์)
์ ์
Courses
Reviews
- First Encounter with React
- First Encounter with React
- First Encounter with React
- My first encounter with Redux
Posts
Q&A
์๋ฌ๊ฐ ๋ ์
์๋ ํ์ธ์, ์ํ์ ๋๋ค. ์ฌ๋ ค์ฃผ์ ๋ก๊ทธ๋ง์ผ๋ก๋ ์ ํํ ์์ธ ํ์ ์ด ํ๋ ๋ฐ, ํ์ฌ ํฌํธ ๋ฒํธ๊ฐ 3001๋ก ๋์ด ์๋ค์~์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๋ฒ ์คํ์ํค์ ๊ฒ ๊ฐ์๋ฐ, ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ ์ข ๋ฃํ๊ฑฐ๋ PC ์ฌ๋ถํ ์ดํ์ ๋ค์ ์คํํ๊ณ 3000๋ฒ ํฌํธ๋ก ์ ์ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค! ๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 21
Q&A
Chapter6 ์ง๋ฌธ ๋๋ฆฝ๋๋ค
์๋ ํ์ธ์, ์ํ์ ๋๋ค. ํด๋น ๋ฉ์์ง๋ ๋ฆฌ์คํธ์ key๊ฐ ์์ด์ ๋์ค๋ ๋ฉ์์ง์ ๋๋ค.๋ฆฌ์กํธ์์๋ ๋ ๋๋ง ์ต์ ํ๋ฅผ ์ํด์ ๋ฆฌ์คํธ์ ๊ฐ ์์์ key ์์ฑ์ ๋ฃ์ด์ฃผ์ด์ผ ํ๋๋ฐ,key ์์ฑ์ด ์์ ๊ฒฝ์ฐ ์ง๊ธ ๊ฒช๊ณ ๊ณ์ ๊ฒ๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.์ดํ์ ๋์ค๋ ์น์ 11. List and Keys์์ ๊ด๋ จ ๋ด์ฉ์ ์ค๋ช ํ๊ณ ์์ผ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค! ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 42
Q&A
์ค์ต ์ฝ๋ ์์๊น์?
์๋ ํ์ธ์, ์ํ์ ๋๋ค. ์๋ ์ฃผ์์์ ์์ค์ฝ๋๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค.์ค์ต: https://github.com/soaple/first-met-react-practice-v18๋ฏธ๋ ํ๋ก์ ํธ: https://github.com/soaple/mini-blog ํน์ ์ ํด๊ฒฐ๋์ง ์๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ธ์ ๋ ์ง ์ง๋ฌธ ๋จ๊ฒจ์ฃผ์ธ์!๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 83
Q&A
์ํ๊ฐ ์ ๋ฐ์ดํธ๋ ๋ ์ปดํฌ๋ํธ ์ต์๋จ์ console.log ์ฝ๋๊ฐ ๋๋ฒ ์คํ๋๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
์๋ ํ์ธ์, ์ํ์ ๋๋ค.์ฐ์ ํ์ฌ ๊ฒช๊ณ ๊ณ์ ์ํฉ์ ์์ธํ๊ฒ ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.AI๊ฐ ๋ต๋ณํด์ค StrictMode๋ ์ฒ์ ์ปดํฌ๋ํธ ๋ง์ดํธ ์์๋ง ํด๋น๋๋ ๋ด์ฉ์ด๊ธฐ ๋๋ฌธ์, ์ง๊ธ ์ง๋ฌธํด์ฃผ์ ๋ด์ฉ๊ณผ๋ ๋ค๋ฅด๋ค๋ ์ ์ ๋จผ์ ๋ง์๋๋ฆฝ๋๋ค. ์ํฉ์ ์ ๋ฆฌํด๋ณด๋ฉด count๊ฐ ๋ณ๊ฒฝ๋จ์ผ๋ก์จ ์ฌ๋ ๋๋ง์ด ๋ฐ์ํ๊ณ ,๊ทธ ์ดํ์ count๋ฅผ ์์กด์ฑ ๋ฐฐ์ด์ ๊ฐ๊ณ ์๋ useEffect() ํ ์์ ์๋์ ๊ฐ์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.setIsFull(count >= MAX_CAPACITY);์ด ๋ isFull์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ์ฌ๋ ๋๋ง์ด ๋ฐ์ํ์ง๋ง, ๋ณ๊ฒฝ๋์ง ์๋๋ผ๋ ๋ด๋ถ์ ์ผ๋ก Virtual DOM Tree๋ฅผ ์์ฑํ๊ธฐ ์ํด ํจ์ ์ปดํฌ๋ํธ๊ฐ ํธ์ถ๋๋ฉด์ React element๋ฅผ ์๋ก ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.๊ทธ๋์ ๊ทธ๋ฐ ๊ฒฝ์ฐ์ ๋ก๊ทธ๊ฐ ๋ ๋ฒ ์ถ๋ ฅ๋๋ ๊ฒ์ด๋ผ๊ณ ์ดํดํ์๋ฉด ๋ฉ๋๋ค. ์๋์ ๋ ๊ฐ๋จํ ์์์ฝ๋๋ฅผ ์ฒจ๋ถํด๋์์ผ๋ ํ ๋ฒ ํ ์คํธ ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.์ด ์ฝ๋์์๋ ๋์ผํ ๊ฐ์ ๋ฒํผ์ ๋๋ฅผ ๊ฒฝ์ฐ ์ฝ์ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋์ง ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋์ง๋ง,์ผ๋ถ ์ํฉ์์๋ ์ฝ์ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.import { useState } from "react"; function MyComponent() { console.log("์ปดํฌ๋ํธ ๋ ๋๋ง!"); const [state, setState] = useState(false); return ( State: {state.toString()} setState(false)}>false๋ก ์ค์ setState(true)}>true๋ก ์ค์ ); } export default MyComponent; ํ์ง๋ง ์ฝ์ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ(React element๊ฐ ์์ฑ)๋๋ค๋ ๊ฒ์ด ๋งค๋ฒ ํ๋ฉด์ด ๊ฐฑ์ ๋๋ค๋ ์๋ฏธ๋ ์๋๋๋ค.๋ฆฌ์กํธ๋ Virtual DOM์ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง์ ๊ณ์ฐํ๊ณ ์ ๋ฐ์ดํธํ๋๋ฐ, ์ด ๋ ์ํ ๊ฐ์ด ๋ณํ์ง ์์ผ๋ฉด ๋ฆฌ์กํธ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ค๊ณ ํ๋จํ๊ณ ์ค์ DOM ์ ๋ฐ์ดํธ๋ฅผ ๊ฑด๋๋ฐ๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋์ค์๋ ์ฝ์ ๋ก๊ทธ๋ฅผ ์ฐ์ด์ ํ์ธํ๊ธฐ ๋ณด๋ค๋ React Devtools์ Profiler ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ ๋ ์ ํํ๊ฒ ์ฌ๋ ๋๋ง์ด ๋ช ๋ฒ ๋ฐ์ํ๋์ง ํ์ธํด๋ณด์๋ฉด ์ข์ต๋๋ค! ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 66
Q&A
npx create-react-app my-app ๋ช ๋ น์ด ์ ๋ ฅ์ด ์๋ชป๋ ๊ฒ ๊ฐ์ต๋๋ค
์๋ ํ์ธ์, ์ํ์ ๋๋ค. ๊ถํ์ด ์์ด์ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ์๋ฐ, ์ ๋ต๋ณ์ ์ฐธ๊ณ ํด์ ํ ๋ฒ ์งํํด๋ณด์๊ฒ ์ด์? ๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 109
Q&A
์ด๋ฆ๊ณผ ์ฝ๋ฉํธ ์ค๋ฐ๊ฟ์ด ์ ๋ฉ๋๋ค.
์๋ ํ์ธ์, ์ํ์ ๋๋ค. ํน์ Comment ์ปดํฌ๋ํธ ์ฝ๋๋ฅผ ์ฒจ๋ถํด์ฃผ์ค ์ ์์๊น์? ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 62
Q&A
๋ฒํผ์ด ์ ๋น๋๋ค
์๋ ํ์ธ์, ์ํ์ ๋๋ค.index.html ํ์ผ์ 14๋ฒ์งธ ์ค์ ์คํ๊ฐ ์์ต๋๋ค.์๋์ ๊ฐ์ด ์์ ํด์ฃผ์๊ณ ,https://unpkg.com/react@17.0.0/umd/react.development.jsMyButton.js ํ์ผ์์๋ ReactDoM์ด ์๋ ReactDOM์ผ๋ก ์ฌ์ฉํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค!
- 0
- 2
- 146
Q&A
npx create-react-app my-app
์๋ ํ์ธ์, ์ํ์ ๋๋ค. ํ์ฌ ๋ฆฌ์กํธ 19 ์ ์ ๋ฆด๋ฆฌ์ฆ๋ก ์ธํด create-react-app์ด ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค.์ฐ์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ฐธ๊ณ ํด์ Yarn ์ค์นํ๊ณ , Yarn์ ์ฌ์ฉํด์ ๋ฆฌ์กํธ ์ฑ์ ์์ฑํ๊ณ ์ค์ต์ ์งํํด์ฃผ์ธ์!npm install -g yarn yarn create react-app my-app ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 360
Q&A
jsx ์ฝ๋ ์์ฑํด๋ณด๊ธฐ์์ index.js ์์ ํ ์๋ฌ ๋น๋๋ค.
์๋ ํ์ธ์, ์ํ์ ๋๋ค. ํน์ ์์ฑํ์ Library.jsx ํ์ผ ์์ค ์ฝ๋๋ฅผ ์ฒจ๋ถํด์ฃผ์ค ์ ์์๊น์? ๊ฐ์ฌํฉ๋๋ค.
- 1
- 3
- 168
Q&A
Chapter_05 ํฐ๋ฏธ๋, ๋ฆฌ์กํธ ์๋ฌ
์๋ ํ์ธ์, ์ํ์ ๋๋ค.ReactDOM.render๊ฐ ์๋ root.render๋ฅผ ์ฌ์ฉํ๋ ํํ๋ก ์์ ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค! ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 94