React/2022-ไธ
JSX JSX๋ JavaScript์ XML์ ์ถ๊ฐํ ํ์ฅ ๋ฌธ๋ฒ์ด๋ค. ๋ฆฌ์กํธ๋ก ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ ๋ ์ฌ์ฉ๋จ -> ๊ณต์์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ด ์๋ ํ๋์ ํ์ผ์ ์๋ฐ์คํฌ๋ฆฝํธ์ HTML์ ๋์์ ์์ฑํ์ฌ ํธ๋ฆฌํจ JSX ๋ฌธ๋ฒ ๊ท์น โ ๋ฐ๋์ ๋ถ๋ชจ ์์ ํ๋๊ฐ ๊ฐ์ธ๋ ํํ โ ์ปดํฌ๋ํธ์ ์ฌ๋ฌ ์์๊ฐ ์๋ค๋ฉด ๋ฐ๋์ ๋ถ๋ชจ ์์ ํ๋๋ก ๊ฐ์ธ์ผ ํจ โด ๋ถ๋ชจ ์์ ํ๋๋ก ๊ฐ์ธ์ค์ผํ๋ ์ด์ ๊ฐ ๋ฌด์์ผ๊น์? → Virtual DOM์์ ์ปดํฌ๋ํธ ๋ณํ๋ฅผ ๊ฐ์งํด ๋ผ ๋ ํจ์จ์ ์ผ๋ก ๋น๊ตํ ์ ์๋๋ก ์ปดํฌ๋ํธ ๋ด๋ถ๋ ํ๋์ DOM ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค๋ ๊ท์น์ด ์๊ธฐ ๋๋ฌธ. โต ๋ฌด์กฐ๊ฑด ์์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ธ์ผ ํ ๊น์? → ๊ทธ๋ ์ง ์๋ค. Fragment๋ผ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์๋ ์์. Fragment๋ ํน์ ์ ํํ๋ก ํํํ ์ ..
Web Basic/JavaScript
๋ฐฐ์ด ์ ์ฒด ์ํ forEach() map(), for()๊ณผ ๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ฉฐ, ์ฃผ์ด์ง ํจ์๋ฅผ ๋ฐฐ์ด์ ๊ฐ ์์์ ์คํ์ํด map()๊ณผ ๋ค๋ฅด๊ฒ forEach()๋ ๋ฐฐ์ด์ ๋ฆฌํดํ์ง ์์ undefined๋ฅผ ๋ฆฌํด arr.forEach(() => { //๊ฐ ๋ฐฐ์ด์ ์์์ ๋ฐ๋ณตํ๊ณ ์ถ์ ์ฝ๋ }) ๋ฐฐ์ด์ ๋ฐํํ๊ณ ์ถ๋ค๋ฉด ๋น๋ฐฐ์ด ์์ push ํด์ ๋ฃ์ด์ฃผ์ด์ผ ํจ โป ์๋ก์ด ๋ฐฐ์ด์ด ํ์ํ ๋๋ map์ ์ฌ์ฉ / ๋ฐฐ์ด์ ํ์์์ง๋ง ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ๋๋ forEach ์ฌ์ฉ forEach๋ ๋ฐฐ์ด์ ์ํํ๋ ๋์ค์ ๋ฉ์ถ ์ ์์ง๋ง, ๋ฐฐ์ด์ ์ํํ๋ ์๋๊ฐ ๋น ๋ฆ ๋ฐฐ์ด ํ์(์ํ๋ ์์ ์ฐพ๊ธฐ) indexOf() ๋ฐฐ์ด์ ํน์ ์์๊ฐ ์๋์ง ํ์ํ๊ณ ์ฐพ์ ์ฒซ๋ฒ์งธ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํ ์กด์ฌํ์ง ์์ผ๋ฉด -1์ ๋ฐํ arr.indexO..
Web Basic/JavaScript
๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ๋ฉ์๋ push / pop ๋ฐฐ์ด์ ๋งจ๋ค์ ์ถ๊ฐ(push)ํ๊ณ ์ ๊ฑฐ(pop)ํ๋ ๋ฉ์๋ // push let fruits = ["ํฌ๋, "๋ณต์ญ์", "๋ธ๊ธฐ", "์๋ฐ"] fruits.push("์ค์ธ ๋จธ์ค์บฃ", "๊ทค") // ๊ฒฐ๊ณผ fruits = ["ํฌ๋", "๋ณต์ญ์", "๋ธ๊ธฐ", "์๋ฐ", "์ค์ธ ๋จธ์ค์บฃ", "๊ทค"] // pop let fruits = ["ํฌ๋", "๋ณต์ญ์", "๋ธ๊ธฐ", "์๋ฐ"] let one = fruits.pop() // ๊ฒฐ๊ณผ one = "์๋ฐ" fruits = ["ํฌ๋", "๋ณต์ญ์", "๋ธ๊ธฐ"] push๋ ํ๋ฒ์ ์ฌ๋ฌ๊ฐ์ ์์๋ฅผ ๋ฃ์ด์ค ์ ์์ pop์ ๋นผ์ฌ ์ ์๋ ์์๊ฐ ๊ณ ์ ์ (๋ฐฐ์ด์ ๋งจ ๋ค ์์) push๋ ์๋กญ๊ฒ ์ถ๊ฐ๋ ์์๋ฅผ ๋ฐ์ํ์ฌ ์๋ก..
React/Errors
์ด๋ฐ ์๋ฌ๋ฌธ๊ตฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด ๋ฅผ ๋ก ๋ฌถ์ด์ฃผ์ด์ผ ํฉ๋๋ค. ๋ํ ์ ๋งค๊ฐ๋ณ์ ์ด๋ฆ๋ํ component → element๋ก ๋ณ๊ฒฝ์ด ๋์์ต๋๋ค. # ํด๊ฒฐ ๋ฐฉ๋ฒ (2022. 01. 16 ๊ธฐ์ค) 1. ์๋์ ๊ฐ์ด ์ต์ ๋ฒ์ ์ ๋ง๊ฒ ์์ฑํ๋ค. 2. ์ด์ ๋ฒ์ ์ ์ค์นํด์ ์ฌ์ฉํ๋ค. React Router | Overview Declarative routing for React apps at any scale reactrouter.com
React/Higher-Order
์ปค๋ง ๋ฐํ๊ฐ์ด ํจ์์ธ ๋์์ธ ํจํด์ ๋งํจ ์ค๋ณต๋ ์ฝ๋๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์
๋ ฅํ์ง ์๊ณ ์ํ๋ ๊ธฐ๋ฅ์ ์กฐํฉํ์ฌ ์ธ์ ๋ ์ง ์ฌ์ฉํ ์ ์์ ์ปค๋ง์ ์ฌ์ฉํ๋ ์ด์ : ํจ์์ ์ฌํ์ฉ ๋๋ฌธ ํจ์์ ์ฌํ์ฉ ์์ : function multiply(a, b) { return a * b; } function mulitplyTwice(a) { return multiply(a, 2); } // โ function multiplyX(x) { return function(a) { return multiply(a, x); } } // โ const multiplyX = x => a => multiply(a, x); // โโ โ โ : multiply() ํจ์๋ฅผ ์ฌํ์ฉํ์ฌ a์ 2๋ฅผ ๊ณฑํ ๊ฐ์ ๋ฐํํจ โ โ : ์ธ์ x๋ฅผ ๋ฐ์ ์ด๋ฆ ..
React/Component
์ปดํฌ๋ํธ์์ ์ฝ๋ฐฑ ํจ์ ์ฝ๋ฐฑ ํจ์๋ ์ ์๋ ์์น์์ ์คํ๋์ง ์๊ณ , ์ดํ ํน์ ์ํฉ์์ ์คํ๋๋ ํจ์๋ฅผ ๋งํจ ํ์ ์ปดํฌ๋ํธ์์ ํ๋กํผํฐ๋ฅผ ๋ณ๊ฒฝํด์ผ ํ ๋ ํ๋กํผํฐ ์๋ณธ์ ์์ ํ ์ ์๋ ํจ์๋ฅผ ํ์ ์ปดํฌ๋ํธ์ ์ ๊ณตํ๋ฉด ๋จ ๋ฐ๋ผ์, ์ฝ๋ฐฑ ํจ์๋ฅผ ํ๋กํผํฐ๋ก ์ ๋ฌํ๋ฉด ๋จ ์ฝ๋ฐฑ ํจ์๋ก ํ๋กํผํฐ ์์ : (src/App.js) import React from 'react'; import Counter from './ex/Counter2'; class App extends React.Component { constructor(props) { super(props); this.state = { count: 1 }; } increase() { this.setState(({ count }) => ({ count: cou..
React/Component
ํด๋์คํ ์ปดํฌ๋ํธ ํด๋์คํ ์ปดํฌ๋ํธ๋ ๋ฆฌ์กํธ ์๋ช
์ฃผ๊ธฐ ํจ์์ ์ปดํฌ๋ํธ ๊ตฌ์ฑ ์์๋ฅผ ๋ชจ๋ ํฌํจํ๊ณ ์์ ํด๋์คํ ์ปดํฌ๋ํธ๋ Component์ PureComponent์ ๋ ์ข
๋ฅ์ ํด๋์ค๋ฅผ ์ฌ์ฉํจ Component Component ํด๋์ค๋ ํ๋กํผํฐ, state์ ์๋ช
์ฃผ๊ธฐ ํจ์๊ฐ ๋ค์ด์๋ ๊ตฌ์กฐ์ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํจ Component ํด๋์ค๋ก ๋ง๋ค์ด์ง ์ปดํฌ๋ํธ๋ ํญ์ render() ํจ์๋ฅผ ํธ์ถํจ Component ์์ : import React from 'react'; class MyComp extends React.Component { constructor(props) { super(props); console.log('์์ฑ'); } componentDidMount() { } myMethod() ..
React/Component
์ปดํฌ๋ํธ ์๋ช
์ฃผ๊ธฐ ์ปดํฌ๋ํธ์ ์๋ช
์ฃผ๊ธฐ๋ ์ปดํฌ๋ํธ์ ์์ฑ๋ถํฐ ์๋ฉธ๊น์ง์ ๊ณผ์ ์ ๋งํจ ์ปดํฌ๋ํธ๋ ์๋ช
์ฃผ๊ธฐ๋ง๋ค ํจ์๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ์ด ํจ์๋ค์ ์ด์ฉํ๋ฉด ํน์ ์์ ์ ์ํ๋ ๋์์ ํ๋๋ก ๋ง๋ค ์ ์์ ์๋ช
์ฃผ๊ธฐ ํจ์ ์๋ช
์ฃผ๊ธฐ ํจ์๋ render() ํจ์๋ฅผ ํฌํจํ ์ด 8๊ฐ์ ํจ์๊ฐ ์์ ์๋ช
์ฃผ๊ธฐ ํจ์๋ ๋ฆฌ์กํธ ์์ง์์ ์๋์ผ๋ก ํธ์ถํจ ๋ฐ๋ผ์, ๊ฐ๋ฐ์๊ฐ ๋ง์๋๋ก ์๋ช
์ฃผ๊ธฐ ํจ์๋ฅผ ํธ์ถํ ์ ์์ โ ์์ฑ ๊ณผ์ : ์ปดํฌ๋ํธ ์์ฑ๋ถํฐ ์์ฑ ์๋ฃ๊น์ง 4๊ฐ์ ์๋ช
์ฃผ๊ธฐ ํจ์๊ฐ ํธ์ถ๋จ โ ๊ฐฑ์ ๊ณผ์ : ์์ฑ ์๋ฃ๋ถํฐ ๊ฐฑ์ ์๋ฃ๊น์ง 5๊ฐ์ ์๋ช
์ฃผ๊ธฐ ํจ์๊ฐ ํธ์ถ๋จ ์ด ๋, ๊ฐฑ์ ๊ณผ์ ์ shouldComponentUpdate() ํจ์์ ๋ฐํ๊ฐ์ด true์ด๋ฉด ์ดํ ๊ณผ์ ์ด ์งํ๋๊ณ , shouldComponentUpdate() ํจ์์ ..