본문 바로가기

Programing375

002. 작업 환경 설정 리액트 작업 환경 설정1. Node.js 설치Node.js는 크롬 V8 자바스크립트 엔진으로 빌드한 자바스크립트 런타임이다.Node.js가 있어야 웹 브라우저가 아닌 환경에서도 자바스크립트를 사용하여 연산할 수 있다.Node.js의 등장으로 자바스크립트는 웹 개발을 너머 웹 서버, 모바일 앱, 데스크톱 앱까지 개발할 수 있게 되었다.React.js가 Node.js로 만들어진 것은 아니지만, React.js는 프레임워크가 아닌 라이브러리로, 다른 라이브러리와 함께 사용되는 경우가 많은데 그 라이브러리들이 Node.js를 사용하기 때문에 설치하는 것이다.Node.js를 설치해야 Node.js 패키지 매니저 도구인 npm이 설치된다. npm에는 패키지가 100만 개 이상이 저장되어 있다.Node.js 웹 사이.. Programing/React 2024. 5. 30.
2024-05-30 리액트의 핵심, Virtual DOM이란? 리액트 공부를 시작하면서 빨리 코드를 작성할 생각만 했지 정작 리액트가 무엇인지 설명을 못하고, virtual DOM에 대해 묻는 과제의 질문에 답하지 못했다.오늘 숙련 과제 제출이 끝났으므로, 기본을 먼저 다지고 가려고 한다.리액트의 특징Virtual DOM리액트는 Virtual DOM을 사용한다.DOM은 Document Object Model의 약자로, 객체를 통해 문서 구조를 표현하는 방법이고, XML, HTML로 작성한다.DOM의 치명적인 단점 : 정적이다. 동적 UI에 최적화 되어 있지 않다. HTML 자체는 정적인 정보만 렌더링 해준다. 자바스크립트를 통해 동적으로 만들 수 있다.그런데 소셜미디어나 대규모 포털사이트와 같은 사이트에서의 DOM은 수 백, 수 천 개에 달한다. 사용자가 DOM을 .. Programing/TIL 2024. 5. 30.
001. 리액트의 특징과 Virtual DOM 리액트의 특징Virtual DOM리액트는 Virtual DOM을 사용한다.DOM은 Document Object Model의 약자로, 객체를 통해 문서 구조를 표현하는 방법이고, XML, HTML로 작성한다.DOM의 치명적인 단점 : 정적이다. 동적 UI에 최적화 되어 있지 않다. HTML 자체는 정적인 정보만 렌더링 해준다. 자바스크립트를 통해 동적으로 만들 수 있다.그런데 소셜미디어나 대규모 포털사이트와 같은 사이트에서의 DOM은 수 백, 수 천 개에 달한다. 사용자가 DOM을 조작하여 페이지가 리페인트 될 때마다 CSS와 HTML을 매번 불러 읽어들여야 하기 때문에 성능이 저하될 수 있다.리액트는 Virtual DOM 방식을 사용하여 DOM 업데이트를 추상화함으로써 DOM 처리 횟수를 최소화 하고 효.. Programing/React 2024. 5. 30.
045. React - useMemo와 연산 최적화 메모이제이션이란?직역하자면 '기억해두기', '메모해두기'라는 의미.최초에 한 번 연산한 후 결과값을 메모해두고, 같은 계산이 반복되면 다시 계산하는 것이 아니라 결과값을 바로 꺼내어 전달해주는 것.useMemo 사용 방법// import 하기import { useMemo } from 'react';// 기본형 작성useMemo(() => {/* 여기에 연산 내용 작성 */}, []);// 의존성 배열이 비어 있으면, 마운트 시 한 번만 연산하고, 그 이후에는 컴포넌트가 리렌더링 되더라고 그 연산의 결과를 계속 재사용함.// 따라서 값이 컴포넌트 라이프사이클 동안 바뀔 일이 없을 때는// 의존성 배열을 비워두면 되고, 의존성 배열에 무언가를 넣으면 그 무언가가 변화할 때 다시 연산한다.// 즉 컴포넌트 .. Programing/React 2024. 5. 30.
2024-05-29 리덕스 개관 Redux의 기본 개념액션상태에 어떤 변화가 필요하면 action이라는 것이 발생한다. action은 하나의 객체로 표현된다. 이 액션 개체는 아래와 같은 형태로 이루어져 있다.{ type: 'TOGGLE_VALUE'}액션을 조금 더 쉽게 설명하자면 스토어라는 상태 중앙 저장소에 상태에 어떠한 변화가 일어났다고 보내는 메시지의 개념이다.액션은 자바스크립트 객체로 이루어져 있고, 리덕스에게 "이런 일이 발생했으니, 데이터를 바꿔주세요!"라고 요청하는 것이다.타입(type) 필드개발자가 자유롭게 작명하는 액션 객체의 이름임. 이를 통해 나중에 상태 업데이트 시 참고할 수 있음.{ type: 'ADD_TODO', data: { id: 1, text: '리덕스 배우기' .. Programing/TIL 2024. 5. 30.