코딩 도구/프론트엔드 개발 (Frontend Development)(6)
-
[React] State와 Lifecycle 개념 정리
리액트의 컴포넌트 구조를 이해했다면, 이제 그 안에서 어떻게 동적인 데이터를 다루는지를 알아야 한다. 그 중심에 있는 개념이 바로 state(상태) 와 lifecycle(생명주기) 이다. 이번 글에서는 이 두 가지에 대해 정리해본다.State와 Lifecycle의 정의State란?state는 컴포넌트 내부에서 관리되는 데이터로, UI에 영향을 주는 값이다. props는 외부에서 전달되는 값이라면, state는 컴포넌트 자체가 소유하고 변경할 수 있는 값이다. state가 변경되면 컴포넌트는 자동으로 다시 렌더링된다.리액트에서는 useState라는 훅을 통해 state를 사용할 수 있다.import { useState } from 'react';function Counter() { const [count..
2025.04.16 -
[React] Components와 Props 개념 정리
이번에는 리액트의 핵심 개념 중 하나인 컴포넌트(Components) 와 프롭스(Props) 에 대해서 정리해보았다. 실제 리액트 프로젝트에서 UI를 구성할 때 가장 많이 사용하는 구조이기 때문에, 이 부분을 정확하게 이해하는 것이 중요하다.Components와 Props의 정의Component(컴포넌트) 는 리액트에서 UI를 구성하는 최소 단위이며, 재사용 가능한 자바스크립트 함수이다. 간단히 말하면, 특정 기능이나 UI를 담당하는 코드 블록이라고 생각하면 된다.function Welcome(props) { return Hello, {props.name};}위 예시처럼 함수형 컴포넌트를 선언하고, 특정 데이터를 넘겨받아 UI를 출력할 수 있다.Props(프롭스) 는 컴포넌트 간 데이터를 전달할 때 사..
2025.04.09 -
[React] JSX와 Elements 개념 정리
이번에 리액트를 활용한 프로젝트를 진행하기로 하면서, 프론트엔드의 기본 개념들도 어느 정도는 이해하고 있어야겠다고 느꼈다. 특히 JSX와 Elements는 리액트에서 가장 기초적인 부분이라서 먼저 정리해보았다.JSX란 무엇인가?JSX는 JavaScript XML의 약자로, 자바스크립트 코드 안에서 HTML 태그를 작성할 수 있게 해주는 문법이다. 겉으로 보기에는 HTML처럼 보이지만 실제로는 자바스크립트 문법 안에서 동작한다. 리액트에서는 이 JSX 문법을 사용해서 컴포넌트를 구성하게 된다.예를 들면:const element = Hello, world!;위 코드는 HTML처럼 보이지만, 브라우저가 바로 이해할 수 있는 건 아니고, Babel이라는 트랜스파일러가 이 코드를 다음과 같이 바꿔준다:const ..
2025.04.02 -
[React와 Typescript] 종속성, JSX, MUI 문제들 해결
React 프로젝트에서 겪을 수 있는 주요 문제와 해결 방법React와 TypeScript, 그리고 MUI(Material-UI)와 관련된 문제들을 해결하며 많은 것을 배웠습니다. 문제 1: 종속성 충돌(Dependency Conflicts)상황React 프로젝트를 세팅하거나 새로운 라이브러리를 설치할 때 npm install 또는 yarn install 명령어 실행 시, ERESOLVE 에러가 발생했습니다.에러 메시지 예시:npm ERR ERESOLVE could not resolve npm ERR Conflicting peer dependency: typescript@4.9.5 이 문제는 프로젝트에 설치된 react-scripts, typescript, 또는 기타 라이브러리 간의 버전 호환성 문제에서..
2025.01.21 -
[React] 프로젝트 생성 중 npm 이름 규칙 오류, 종속성 충돌 문제 web-vitals 관련 오류
제가 React 프로젝트 생성 중 실제로 겪었던 문제와 해결 방법을 공유해 보겠습니다.1. npm 이름 규칙 오류React 프로젝트를 생성하려고 다음 명령어를 실행했습니다:npx create-react-app LottoVerse 그러나 오류 메시지가 출력되었습니다:Cannot create a project named "LottoVerse" because of npm naming restrictions: * name can no longer contain capital letters원인: npm은 프로젝트 이름에 대문자를 허용하지 않습니다. 문제해결npm에서 대문자가 포함된 이름을 허용하지 않기 때문에, 프로젝트 이름을 소문자로 수정해 명령어를 실행했습니다:npx create-react-app lottov..
2025.01.19 -
내가 공부하려는 글 : React와 Vercel로 웹/앱 개발하기
웹 개발에서 주목받는 도구 중 하나는 바로 React(리액트)와 Vercel(벌셀)입니다. 이 글에서는 리액트와 벌셀에 대한 개념과 사용 이유를 설명하고, 이 두 가지를 사용하여 웹 또는 앱을 개발하는 방법에 대해 자세히 알아보겠습니다.리액트(React)란 무엇인가요?리액트는 페이스북에서 개발한 자바스크립트 기반의 UI 라이브러리로, 컴포넌트 기반의 설계 방식을 통해 재사용성과 유지보수성을 극대화합니다. 이는 사용자가 인터랙티브한 사용자 인터페이스(UI)를 효율적으로 구축할 수 있도록 도와줍니다.리액트의 주요 특징컴포넌트 기반UI를 독립적인 컴포넌트 단위로 나눠서 개발할 수 있어 유지보수가 쉽습니다.단방향 데이터 흐름데이터는 위에서 아래로 흐르며, 데이터 관리를 직관적으로 할 수 있습니다.Virtual ..
2025.01.05