본문 바로가기

Vite + React로 프론트 작업

(10)
react) stopPropagation()란? 사이드바 작업을 하는 도중에, button내부에 있는 img부분을 클릭해도 onClick이벤트가 동작을 안하는 문제가 있었음실제로 해당 onClick부분에 콘솔을 찍어보면, 이미지를 클릭해도 값은 변경이 되지만 실제로 화면에서 동작은 안하는 상황 알아보니, 이벤트 버블링 문제였고 이를 해결하기 위해서는e.stopPropagation() 해당 메서드가 필요했는데,stopPropagation()란, JavaScript 이벤트 객체의 메서드로, 이벤트 버블링(event bubbling) 또는 이벤트 캡처링(event capturing)을 중단시키는 역할 *이벤트 버블링이란, 작은 단위의 이벤트부터 시작해서 상위 이벤트로 순차적으로 실행되는 개념 버블링: 자식 요소 -> 부모 요소캡처링: 부모 요소 -> 자식 ..
React) SSR(서버 사이드 렌더링) vs CSR (클라이언트 사이드 렌더링) SSR(서버 사이드 렌더링)서버(백엔드)에서 프론트로부터 미리 html,css,js파일을 전달 받아서, 화면을 그려놓고프론트에서 요청한 데이터가 있다면 해당 데이터를 미리 전달받았던 파일에 업데이트를 시켜서 프론트로 전달하는 형태장점 : 초기 화면 세팅이 빠름단점 : 전체 페이지를 그려서 전달하기 때문에, 페이지 내에서 동적인 이동이 잦은 경우 시간 오래걸림 CSR(클라이언트 사이드 렌더링)프론트에서 html,css,js파일을 가지고 있으며, 필요한 정보만 백엔드에 요청을 하여 데이터를 받아오고,받은 데이터를 통하여 html,css,js를 그려서 사용자에게 보여주는 형태장점 : 프론트에서 필요한 데이터만 백엔드에 요청하기 때문에, 동적인 화면 생성에 유리단점 : 초기 화면 세팅 시, 백엔드에 요청한 js..
React) fetch vs axious 차이 fetch에서는 promise나 async await등의 설정을 추가로 해줘야되는 반면에axios는 내장되어 있어서, 자동으로 비동기처리 및 에러 처리가 가능 fetch는 오류 상태(404, 500)에 대하여 catch에서 걸러지지 않아서, 따로 설정해줘야 함axios는 catch구문에서 오류 상태 또한 자동으로 걸러주기 때문에, 추가로 설정 안해도 됨 HTTP오류 상태404 : URL등 주소 오류500 : 백엔드 DB등 백엔드 관련 오류
React 기초) * 리액트에서는 객체에 값을 저장하도록 설정할 수 있는데, const [isClick, setIsClick] = useState({}); // 사이드바 메뉴 const menuItems: NavigationItem[] = [ { index: 0, label: "상품 관리", children: [ { index: 0, label: "상품 등록", path: "/products/register" }, { index: 1, label: "상품 수정/삭제", path: "/products/edit" }, ], }, { index: 1, label: "로케이션 관리", children: [ ..
React) 마운트되기 전에 State 변경 시 발생하는 오류와 해결 ‼️ 마운트( = 화면에 컴포넌트가 그려지는 단계, 처음 렌더링 되는 단계) 되기 전에    상태가 변경되어서 생긴 에러 : 즉, 화면이 그려지기도 전에, state상태가 변경이 되어버려서, 변경된 상태 값들이 화면에 적용되지 않는다는 의미
React) DOM, React virtual Dom 🔹 DOM 개념 (Document Object Model) DOM은 웹 문서를 객체 모델로 표현한 구조로, JS를 이용해 HTML 요소를 조작할 수 있게 해주는 역할 (여기서 객체란 등을 의미) 🔹 DOM의 특징✔ 트리 구조 → 계층적으로 HTML 요소를 표현✔ 프로그래밍 가능 → JS를 이용해 요소 추가/삭제/수정 가능✔ 브라우저가 HTML을 해석하는 방식 🔹 DOM이란, HTML Elements들을 Tree형태의 구조로 표현한 것출처: https://www.youtube.com/watch?v=gc-kXt0tjTM 🔹 React Virtual DOM (실제 DOM과 같은 내용을 담고있는 복사본) 🔹 가상 Dom은 실제 Dom과는 다르게, 문서에 직접 접근 안됨.(수정 불가) ..
(FE) 4일차 : 컴포넌트, 데이터 Props, 상태관리 Store, Recoil 1. 컴포넌트란?: 재사용이 가능한 각각의 독립된 모듈을 의미 2. Props란?: 근본적으로 Props는 부모 컴포넌트에서 자식 컴포넌트로 전달할 수 있는 사용자 정의 속성 3. 상태 관리란?상태(State) : 변화하는 데이터상태 관리: 상태는 어느 컴포넌트에서도 일관되어야 함(데이터의 무결성)                상태가 컴포넌트마다 다르다면, 유저/관리자가 받아들이는 데이터에 차이가 생겨 소통 문제 발생               --> 따라서, 상태를 일관되게 관리해야 하며, 이를 위해 중앙집중식 상태관리라는 개념 도입됨.
(FE) 3일차 : Open API 통하여 데이터 가져오기, axios 통신 1. unspash (https://unsplash.com/documentation#search-photos) Unsplash API Documentation | Free HD Photo API | UnsplashGetting started This document describes the resources that make up the official Unsplash JSON API. If you have any problems or requests, please contact our API team. Creating a developer account To access the Unsplash API, first join. Registering your applunsplash.com해당 API 개발자 ..