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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ126

useRef useRef useRef๋กœ ํŠน์ • DOM ์„ ํƒํ•˜๊ธฐ โ˜… DOM(๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ): XML์ด๋‚˜ HTML๋ฌธ์„œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ์ธํ„ฐํŽ˜์ด์Šค, ์ด ๊ฐ์ฒด ๋ชจ๋ธ์€ ๋ฌธ์„œ ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ •์˜ํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ• ์ œ๊ณต ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ํŠน์ • DOM์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์— getElementById, querySelector ๊ฐ™์€ DOM. Selector ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ DOM ์„ ํƒ ๋ฆฌ์•กํŠธ์—์„œ๋Š” ref์‚ฌ์šฉ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ: useRef๋ผ๋Š” Hook ํ•จ์ˆ˜ ์‚ฌ์šฉ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ: ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ React.createRef๋ผ๋Š” ํ•จ์ˆ˜ ์‚ฌ์šฉ useRef์‚ฌ์šฉ ์ด์œ  ๊ฐ’ ์ €์žฅ: ํ˜„์žฌ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๊ฐ’์„ ๋ฆฌ๋ Œ๋”๋ง ์—†์ด ์ €์žฅ DOM ์ฐธ์กฐ: DOM์ฐธ์กฐ๊ฐ€๋Šฅ, ํ˜„์žฌ DOM์—์„œ element์˜ scroll์œ„์น˜, ima.. 2022. 11. 16.
๋ฆฌ์•กํŠธ Hooks - ๋ฆฌ์•กํŠธ 16.8 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์—†์—ˆ์ง€๋งŒ, ๋ฆฌ์•กํŠธ 16.8์—์„œ Hooks๋ผ๋Š” ๊ธฐ๋Šฅ์ด ๋„์ž…๋˜๋ฉด์„œ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ๋„ ์ƒํƒœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ ์ด๋ฒคํŠธ ์„ค์ • import React from "react"; function Counter() { const onIncrease = () => { console.log("+1"); }; const onDecrease = () => { console.log("-1"); }; return ( 0 +1 -1 ); } export default Counter; - ์ด๋ฒคํŠธ ์„ค์ •ํ•ด์ค„ ๋•Œ, on์ด๋ฒคํŠธ์ด๋ฆ„={์‹คํ–‰ํ•˜๊ณ ์‹ถ์€ํ•จ์ˆ˜} ํ˜•ํƒœ๋กœ ์„ค์ • import React from "react"; import Counter from "./Counter.. 2022. 11. 15.
์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง ๋”๋ณด๊ธฐ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง: ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ Œ๋”๋งํ•˜๋Š” ๊ฒƒ import React from "react"; import Hello from "./Hello"; import Wrapper from "./Wrapper"; function App() { return ( ); } export default App; import React from "react"; function Hello({ color, name, isSpecial }) { return ( {isSpecial ? * : null} ์•ˆ๋…•ํ•˜์„ธ์š” {name} ); } Hello.defaultProps = { name: "์ด๋ฆ„์—†์Œ", }; export default Hello; โœญ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง์„ ์ฃผ๋กœ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ .. 2022. 11. 15.
๋ฆฌ์•กํŠธ์˜ props props(properties): ์–ด๋– ํ•œ ๊ฐ’์„ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ์–ด์•ผ ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ - ์ปดํฌ๋„ŒํŠธ์˜ ์†์„ฑ์„ ์„ค์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์š”์†Œ - ์ฝ๊ธฐ ์ „์šฉ - ์ปดํฌ๋„ŒํŠธ ์ž์ฒด props๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ์•ˆ๋จ - ๋ชจ๋“  React์ปดํฌ๋„ŒํŠธ๋Š” ์ž์‹ ์˜ props๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ๋ฐ˜๋“œ์‹œ ์ˆœ์ˆ˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๋™์ž‘ํ•ด์•ผํ•จ - ์ˆ˜์ •๋˜๋Š” ๊ฒƒ์€ state 1. ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ์ „๋‹ฌ๋˜๋Š” props๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ์กฐํšŒ ๊ฐ€๋Šฅ, props๋Š” ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ์ „๋‹ฌ๋จ import React from "react"; import Hello from "./Hello"; function App() { return ; } export default App; import React from "react"; function Hello(props) { return ์•ˆ๋…•ํ•˜์„ธ์š” {.. 2022. 11. 15.