Front-End ์์ ์ค(42)
-
[Reacte] Array์ shouldComponentUpdate()
reacte์์ ๋ฐฐ์ด์ ๊ฐ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ง๊ฐ ์๋ ๊ฒ์ด์์. // ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ var arr = [1, 2]; arr.push(3);// 3์ ๋ฐฐ์ด์ ๋ฃ์ด์ค๋ค. console.log(arr);// ๊ฒฐ๊ณผ๋ (3) [1, 2, 3] // ๋๋ฒ์งธ ๋ฐฉ๋ฒ var arr = [1, 2]; var result = arr.concat(3); console.log(result)// ๊ฒฐ๊ณผ๋ (3) [1, 2, 3] console.log(arr)// ๊ฒฐ๊ณผ๋ (2) [1, 2] push๋ ์๋ณธ(์๋ ๋ฐฐ์ด)์ ๋ฐ๊พธ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๊ณ , concat์ ์๋ณธ์ ๋ฐ๊พธ์ง ์๋ ๊ฒ์ด์์. ๊ฒฐ๊ตญ concat์ ์๋กญ๊ฒ ๋ง๋ค์ด์ง ๋ฐฐ์ด์ ๋ฐํํ๋ ๊ฒ์ด์์. State์์ ๊ฐ์ ์ถ๊ฐํ ๋๋ push์ ๊ฐ์ด ์๋ณธ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์ฐ๋ฉด ..
2021.10.04 -
[Reacte] Component Event ๋ง๋ค๊ธฐ
๐ ์ปดํฌ๋ํธ ์ด๋ฒคํธ ๋ง๋ค๊ธฐ return ( // Component๋ฅผ ๋ง๋ค ๋๋ ๋ฐ๋์ ํ๋์ ์ต์์ Tag๋ง (๋ฑ ํ๋) ์จ์ผ ํ๋ค. {this.props.title} {this.props.sub} ); ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ณ , ์ฌ์ฉ์ ์ ์ ์ด๋ฒคํธ๋ฅผ ์คํํ๊ณ ์ถ์ ๋, ์์ ๊ฐ์ด onChanePage๋ผ๋ ์ด๋ฒคํธ๋ฅผ ๋ง๋ค์ด์ ํน์ ํจ์๊ฐ ํธ์ถ๋๊ฒ ํ ์ ์๋ ๊ฒ์ด์์. App.js์์ ์์ ๊ฐ์ด onChanePage Event์ ํจ์๋ฅผ ๋ง๋ค๊ณ , {/*Stateํ ํ ๋ค ์ฝ๋*/} Subject.js์ ์์ ๊ฐ์ด a Tag๋ฅผ ๋๋ ์ ๋, ํจ์๊ฐ ์คํ๋๋๋ฐ, e.prevenDefulat()๋ก ๋จผ์ Reload๋ฅผ ๋ฐฉ์งํด์ฃผ๊ณ , App.js์ ์๋ onChagePage Event๋ฅผ ํจ์ ํ์์ผ๋ก ํธ์ถํด ์ฃผ๋ ๊ฒ์ด์์. ์ด..
2021.10.02 -
[Reacte] Event setState ํจ์
๐ Event setState ํจ์ ์ดํดํ๊ธฐ return ( {/* Stateํ ํ๊ธฐ ์ ์ฝ๋ */} {/**/} {/*Stateํ ํ ๋ค ์ฝ๋*/} {/**/} {this.state.subject.title} {this.state.subject.sub} ์์ ๊ฐ์ ์ฝ๋์์ ์ปดํฌ๋ํธ๊ฐ ์ด๋ฏธ ์์ฑ๋ ์ดํ์ [this.state.mode = 'welcome']์ฒ๋ผ State ๊ฐ์ ์ง์ ๋ณ๊ฒฝํ๋ฉด ์๋๊ณ , ํจ์ ํํ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ ์ด์ ๋ฅผ ์์๋ณผ ๊ฒ์ด์์. constructor(props) { // State ๊ฐ์ ์ด๊ธฐํ ์ํค๊ธฐ ์ํจ์ด๊ณ , ๊ทธ ์ด๊ธฐ๊ฐ์ผ๋ก 'title="WEB" sub="word wide web!"'์ ์ค์ ํ๋ ค ํ๋ค. super(props); this.state = { mode : 'read', ..
2021.10.02 -
[React] ์ด๋ฒคํธ state props ๊ทธ๋ฆฌ๊ณ render ํจ์ ๊ฐ์
์๋ ํ์ธ์? ์ฃผ๋ํ๋์ ๋๋ค. ์ค๋์ React์ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ค์ด๊ฐ๊ธฐ์ ์ ์จ Event ์ฒ๋ฆฌ์ ๋ํด ๊ณต๋ถํด๋ณด๊ณ , props, render์ ๋ํด ๋ค์ ํ๋ฒ ์ฌ์ ๋ฆฝํ๊ณ ๊ฐ๋๋ก ํ ๊ฒ์! ํจ๊ป ๊ณต๋ถ ํด ๋ณด์ค๊ฒ์! ๐ ์ด๋ฒคํธ state props ๊ทธ๋ฆฌ๊ณ render ํจ์ ๊ฐ์ ๋ฆฌ์ํธ์์๋ state ๊ฐ์ด ๋ฐ๋๋ฉด ๊ทธ state๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ปดํฌ๋ํธ์ render ํจ์๊ฐ ๋ค์ ํธ์ถ๋๊ณ , ๊ทธ ๋ฐ์ ์๋ ์ปดํฌ๋ํธ๋ค๋ ๊ฐ์ render ํจ์๊ฐ ์๋๋ฐ, ๋ชจ๋ ๋ค ํธ์ถ๋๋ค. ๊ทธ๋์ ํ๋ฉด์ด ๋ค์ ๊ทธ๋ ค์ง๊ฒ ๋๋ค. renderํจ์๊ฐ ํ๋ ์ผ์ ์ด๋ค HTML์ ๊ทธ๋ฆด๊ฒ์ธ๊ฐ?์ ๋ํ ๊ฒฐ์ ์ ํ๋ ๊ฒ์ด์์. ๋ฆฌ์ํธ์์๋ props, state ๊ฐ์ด ๋ฐ๋๋ฉด ์ปดํฌ๋ํธ์ render ํจ์๊ฐ ํธ์ถ ๋๋๋ก ์ค๊ณ ๋์ด ์๋ ๊ฒ์ด์์. {this..
2021.10.02 -
[React] State์ Props์ ์ฐจ์ด
๐ Props Props๋ Properties์ ์ค์๋ง๋ก State์์ ๊ฐ๋จํ ์ฐจ์ด๋ ๋ณํ ์ ์๋ ๊ฒ์ด์์. ์๋ฐ๋ก ๋ฐ์ง๋ฉด final์ด ๋ถ์๊ฑฐ๋ผ๊ณ ํ ์ ์์๊น์? ์ฃผ๋ํ๋์ Back End ์ฑํฅ์ด ๊ฐํ ๊ฒ์ด์์! Component๋ ์์ํ๋ ๋ถ๋ชจ Component๋ก ๋ถํฐ props๋ฅผ ๋ฐ๊ณ ์ด props๋ ์์ ๋ฐ์ Component ๋ด์์ ์์ ์ด ๋ถ๊ฐ๋ฅํ ๊ฒ์ด์์. React์์๋ '๋ถ๋ชจ > ์์'์ ์ผ๋ฐฉํฅ์ฑ ์์์ด๋ผ๋ ํน์ง ๋๋ฌธ์ธ ๊ฒ์ด์์. props๋ Component๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ค์ํ ๊ฐ์ ๋ํ๋ด๊ธฐ ์ํ ์กด์ฌ๋ก 'this.props.~~~'๋ก ๋ํ๋ด๋ ๊ฒ์ด์์. ๋ถ๋ชจ Component๊ฐ ์์ Componentํํ ์ ๋ฌํ๋ Data(์์ ์ ์ฅ)๋ก ์ฝ๊ธฐ ์ ์ฉ์ธ ๊ฒ์ด์์. ๐ State State..
2021.10.02 -
[React] State
๐ State State๋ Props์ ๋น๊ตํด์ ๊ณต๋ถ๋ฅผ ํด์ผ ํ๋ ๊ฒ์ด์์. ์ ํ์ ๊ธฐ์ค์ผ๋ก ์ด์ฉ์์ ์ ์ฅ์ด ์๊ณ , ์ด๋ฅผ ๊ตฌํํ๋ ์ ์์ ์ ์ฅ์ด ์์ ๊ฒ์ด์์. ์๋ฅผ ๋ค์ด ํธ๋ํฐ์ ๊ฒฝ์ฐ ๋ฒํผ๋ค์ด ์์๊ฑด๋ฐ, ์ด๊ฒ์ UI (User Interface)๋ผ๊ณ ํ๊ณ , ์ปดํฌ๋ํธ๋ฅผ ๋ง๋๋ ๋ฆฌ์ํธ์์๋ ์ด์ฉ์๊ฐ ์ด์ฉํ๋ ์ฅ์น ์ฆ, UI๋ผ๊ณ ์๊ฐํ ์ ์๋ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ ํ์ ๋ง๋๋ ์ฌ๋๋ค์ ๋ด๋ถ์ ์ธ ๊ตฌํ์ ์ํด ๋ค์ํ ์ํ๋ค, ๋ด๋ถ์ ์กฐ์์ฅ์น๋ค์ ๊ฐ์ง๊ณ ์ฌ์ฉํ๋๋ฐ, ์ด๊ฑธ State๋ผ๊ณ ํ ์ ์๋ต๋๋ค. ์ฆ, ์ด์ฉ์๊ฐ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋๋ฐ ๊ด์ ์ ๋ง์ถ๊ฒ์ด Props์ด๊ณ , ์ ํ์ ๋ง๋๋ ์ฌ๋๋ค์ ๊ด์ ์ ๋ง์ถ๊ฒ์ด State๋ผ๊ณ ํ ์ ์๋ต๋๋ค. ์ปดํฌ๋ํธ์ props๋ฅผ ์ด์ฉํ๋ค๋ ๊ฒ์ ์๋ ์ฝ๋๋ฅผ ๋ณด์์ ๋, ๊ฐ ์๋ค๋ฉด pr..
2021.09.27