React를 사용하는 이유 3가지
·
🎨 프론트엔드 공부/React & Next.js
📍1. 유지보수가 쉽다- React는 컴포넌트 기반의 UI 라이브러리이기 때문에 컴포넌트를 적극 활용해 코드를 재사용할 수 있다- Shotgun Surgery를 막을 수 있다(Shotgun Surgery : 변경 사항이 있을 경우 중복 코드를 하나하나 수정해야 하는 것) 📍2. 선언형 프로그래밍 패러다임을 반영- 명령형 프로그래밍 패러다임(제이쿼리)를 지나, 선언형 프로그래밍 패러다임(React)을 반영 📍3. 빠르다- Virtual DOM 을 사용하기 때문에 DOM 을 직접 조작하는 것보다 연산을 덜 수행
useReducer Hook
·
🎨 프론트엔드 공부/React & Next.js
1. 쓰임새- useState의 대체 함수- reducer 로직과 initial state를 받아 현재 state와 dispatch를 반환- dispatch 함수가 action을 전달하면, reducer 로직에 따라 state가 변경됨 // reducer 함수(state, action) => newState;// useReducerconst [state, dispatch] = useReducer(reducer, initialArg, init);// 구체적으로 아래처럼 쓴다const [state, dispatch] = useReducer( reducer, {count: initialCount}); 2. useState 대신 useReducer를 쓰기 좋은 경우- 많은 분기를 사용하는 등 복잡한 로직을 ..
03. 이벤트 핸들링 (1) Intro
·
🎨 프론트엔드 공부/React & Next.js
출처 - 리액트를 다루는 기술(김민준 지음) 이벤트란? 사용자가 웹 브라우저에서 DOM 요소들과 상호작용 하는 것 예) 버튼에 마우스 커서 올렸을 때 -> onmouseover 이벤트 클릭했을 때 -> onclic 이벤트 Form 요소의 값이 바뀔 때 -> onchange 이벤트 리액트에서의 이벤트 시스템 1. 이벤트 이름은 카멜 표기법을 사용한다 HTML은 onclick 이지만 리액트는 onClick HTML은 onkeyup 이지만 리액트는 onKeyUp 2. 이벤트에 함수 형태의 값을 전달 HTML에서 이벤트를 설정할 때는 큰따옴표 안에 실행할 코드를 넣었지만 리액트에서는 함수 형태의 객체를 전달 즉, 중괄호 안에 함수명만 넣음 -> () 안붙임 예시 import React, { useState } ..
02. 컴포넌트 (6) state를 전달받는 컴포넌트
·
🎨 프론트엔드 공부/React & Next.js
출처 - 리액트를 다루는 기술(김민준 지음) state를 컴포넌트 내부에서 사용하는 것 뿐만 아니라 자식 컴포넌트로 전달하여 실시간으로 다시 렌더링되도록 하는 것도 가능하다. // Greeting.js import React from 'react'; // state를 전달받기 때문에 괄호로 감싸줘야 한다 const Greeting = ({ username }) => { return {username}님 안녕하세요.; } export default Greeting; import React, { useState } from 'react'; import Greeting from './Greeting'; function App() { const [username, setUsername] = useState(''..
02. 컴포넌트 (5) useState
·
🎨 프론트엔드 공부/React & Next.js
출처 - 리액트를 다루는 기술(김민준 지음) 리액트 16.8 이후 부터는 useState 함수를 통해 함수형 컴포넌트에서도 state를 사용할 수 있게 됐다 이 과정에서 Hooks를 사용하게 된다 state의 값을 업데이트 할 때는, state 값에 직접 접근하면 안됨. setState 또는 세터 함수로 값을 변경해야 한다 (그렇지 않으면 바뀐 값이 렌더링 X) (1) useState 사용하기 Say.js 파일을 생성한다 useState로 state 값을 바꿀 때는 useState를 통해 전달받은 세터 함수를 사용한다 // Say.js import React, { useState } from 'react'; const Say = () => { const [message, setMessage] = useS..
02. 컴포넌트 (4) state
·
🎨 프론트엔드 공부/React & Next.js
출처 - 리액트를 다루는 기술(김민준 지음) state와 props 비교 state와 props 모두 컴포넌트에서 사용하거나 렌더링할 데이터를 담고 있지만 역할은 다르다. state : 컴포넌트 내부에서 바뀔 수 있는 값 (컴포넌트 내부에서 값을 업데이트 가능) props : 컴포넌트가 사용되는 과정에서 부모 컴포넌트가 설정하는 값 (컴포넌트 자신은 해당 props를 읽기 전용으로만 사용할 수 있다) 리액트에는 2가지 종류의 state가 있다 1. 클래스형 컴포넌트의 state 2. 함수형 컴포넌트에서 useState 함수를 통해 사용하는 state (1) 클래스형 컴포넌트의 state Counter.js 파일을 생성한다 constructor 메서드를 사용하여 state를 생성할 수도 있지만 굳이 그러지..