본문 바로가기
반응형

Web Front 개발공부56

React Context 사용해보기 컴포넌트의 구조가 깊게 얽혀 있다면... props 유지보수가 어렵게 된다.이때, Context를 사용한다.회사에서 여러 프로젝트에 쓰인 리액트 소스를 보니 userSession을 Context 반복작업을 해놓은 것을 봤다. 예제이므로 간단하게 콤포넌트 구조를 보자면, 아래와 같다.App => Page => Header, Content, Footer 예제는 3단 구조이나 실무에서는 이렇게 간단한 시스템은 거의 없다. 1. 우선 Context를 js 파일하나 만들어 선언한다.import { createContext } from 'react';export const UserContext = createContext(null); 2. App.js 에서 작성한 UserContext를 불러온다.유저정보를 db에서.. 2024. 6. 1.
리액트 훅 , 생명주기 import { useState } from "react";function App() { const [count, setCount] = useState(0); return ( setCount(count+1)}>증가 {count} setCount(count-1)}>감소 );}export default App;  간단한 프로그램이다.증가를 누르면 가운데 숫자가 1씩 증가하고, 감소를 누르면 1씩 감소한다. 2019년 2월 이전에는 Hook이 없었다.Class 방식에서는 생명주기가 따로 있었고 클래스형에서는 setState 방식으로 사용했다. 클래스방식 함수에 대응되는 use... 함수들이 존재하므로 염두해두고 공부하고자 기록해논다. 2024. 5. 25.
간단한 GitHub 조회 프로그램 예제 요즘 리액트에 관심이 많이 생겨서 틈틈히 공부하는 중입니다.토요일 아침 간단한 GitHub api 를 이용한 조회 프로그램을 만들어 봄. 소스import React, { useState } from "react";function App() { const [keyword, setKeyword] = useState(''); const [data, setData] = useState([]); const fetchData=()=>{ fetch('https://api.github.com/search/repositories?q=${keyword}') .then(response => response.json()) .then(data => setData(data.items)) .catch(e.. 2024. 5. 25.
페이지 라우팅 라우팅이란? 라우팅은 경로를 의미하는 Route와 진행을 뜻하는 ing가 합쳐진 단어다. "경로를 진행하는 과정"이라고 이해하면 되겠다. IT 개발자들은 프로젝트를 참여해 진행하다 보면 네트워크 라우팅이라는 말을 자주 듣게 된다. 사실 라우팅은 반드시 IT네트워크 만을 의미하지는 않으며, 상당히 포괄적인 개념이다. 개념 라우팅은 일상생활에서 쉽게 접할 수 있다. 미국에 살고 있는 친구에게 스마트폰 메세지를 를 보낸다고 하면 내 폰에서 친구 폰으로 디렉트로 정보가 전달되는 것이 아니라 중간중간 설치된 "라우터"라는 장비를 거치게 된다. 라우터를 거치는 이유는 데이터를 한 번에 전송하기에는 물리적 거리가 멀다. 쉽게 직행 노선이 존재한다면 좋겠지만 직행을 이용하는 횟수가 적다면 굳이 직행 노선을 만들 이유가.. 2024. 3. 30.
스프레드 연산자 "...변수명" (배열, 문자열, 객체) 스프레드 연산자 "...변수명(반복 가능한 객체)" 리액트를 공부하다가 "..." 이란 기호가 보여 몹시 당황했다. 전문 프런트 개발자가 아니기도 하고, 프로젝트마다 이것저것 프로그래밍 언어를 바꿔가며 일을 하다 보니 그럴 수 있다는 생각에 틈이나 정리해 본다. 반복이 가능한 객체에서 값을 개별 요소로 분리하는 스프레드-연산자. 스프레드 연산자는 "..." 기호로 표기한다. 전개 연산자. 스프레드 연산자를 사용하면 배열, 문자열, 객체 등과 같이 반복이 가능한 객체의 값을 개별 요소로 편리하게 분리할 수 있다. 스프레드 연산자와 배열, 객체 사용방법 예제 배열의 경우 예) let arrA = [1, 2, 3]; let arrb = [...arrA, 4, 5, 6]; console.log(arrb); 결과.. 2024. 2. 18.
프로미스(Promise) 객체를 이용해 비동기 처리하기 프로미스(Promise) 객체를 이용해 비동기 처리하기 개요 프로미스는 비동기 처리를 목적으로 제공되는 자바스크립트 내장 객체다. 프로미스는 Date 객체와 비슷하게 특수 목적을 위해 다양한 기능을 추가한 객체다. Promise 객체를 이용하면 CallBack 함수를 이용한 비동기 처리를 편하고 쉽게 수행할 수 있다. 프로미스의 비동기 작업은 진행 단계가 3가지 상태로 나누어서 관리/실행 된다. 대기 Pending : 작업을 완료하지 않은 상태 성공 Fullfilled : 작업을 성공 실패 Rejected : 작업이 어떤 이유로 실패 대기 상태에서 작업을 성공하게 되면 resolve 라고 한다. 작업을 해결하면 성공 상태가 된다. 만약 실패가 발생되면 reject 상태 된다. 실습 및 예제코드 프로미스 .. 2024. 2. 18.
반응형