Git 설치 & 환경설정1. Git 설치하기 2. 설치 완료 후 Git bash 열기 3. git bash에서 환경설정 하기 1) 유저 이름 설정git config --global user.name "your_name" 2) 유저 이메일 설정하기 (Github 가입시 사용한 이메일 쓰기)git config --global user.email "your_email" 3) 정보 확인하기git config --list Github에 처음 코드 업로드 하기1. 초기화git init 2. 추가할 파일 더하기git add ..(점) 은 모든 파일이라는 뜻. 선택적으로 올리고 싶으면 add뒤에 파일 이름 붙여주면 됨 (예. git add index.html) 3. 상태 확인 (선택사항)git status 4. 히스토..
리액트는 효율적인 UI 구현을 위한 라이브러리이다. HTTP Client(HTTP 상에서 커뮤니케이션을 하는 자바 기반 컴포넌트)를 내장하고 있는 Angular와는 다르게 리액트는 따로 내장 클래스가 존재하지 않는다. 따라서 리액트에서 AJAX를 구현하려면 Javascript 내장객체인 XMLRequest를 사용하거나, 다른 HTTP Client를 사용해야 한다. 그렇다면 어떤 HTTP Client 라이브러리를 사용하는게 좋을까? 리액트와 함께 쓰면 좋은 HTTP Client 라이브러리가 많지만 여기에선 리액트에서 많이 쓰이는 것 중에 하나인 Fetch API를 비교하며 axios 라이브러리를 알아볼 것이다. 1. AJAX (Asynchronous Javascript And X..
1. 렌더링이란? HTML, CSS, 자바스크립트 등 개발자가 작성한 문서가 브라우저에서 출력되는 과정을 말한다. 2. 클라이언트 사이드 렌더링(CSR)클라이언트인 브라우저가 렌더링을 처리하는 방식이다. 즉, 서버에서 받은 데이터를 통해 클라이언트인 브라우저가 화면(View)를 그리는 주체가 되는 것이다. 2.1. CSR의 동작 과정(1) : 초기 화면 수행사용자가 홈페이지를 접속한 경우(최초 접속) 클라이언트는 이를 확인하고 서버로 요청한다.서버는 빈 페이지(HTML, CSS)를 클라이언트에게 전달한다. (해당 페이지에는 JS 링크가 포함되어 있다.)전달받은 클라이언트에서 해당 화면을 그려주고 스크립트를 다운로드하여서 최종적인 화면을 사용자에게 보여준다. (해당 부분에서 사용자에게 보여준 뒤 JS를 로..
목차 1. Context 2. 리액트 Context 사용 방법 3. useContext 훅이란 React에서 컴포넌트가 데이터를 다루는 방법으로 Props, State 그리고 Context가 있다. 오늘은 Context에 관한 개념과 사용 방법에 대해 다뤄보려고 한다. 1. Context Context는 부모 컴포넌트로부터 자식 컴포넌트로 전달되는 데이터의 흐름과는 상관없이 전역적인 데이터를 다룰 때 사용한다. 전역 데이터를 Context에 저장한 후 데이터가 필요한 컴포넌트에서 해당 데이터를 불러와 사용할 수 있다. React에서 Context를 사용하기 위해서는 Context API를 사용해야 하며 Context의 Provider와 Consumer를 사용해야 한다. Context에 저장된 데이터를 사..
Axios interceptor와 Refresh Token axios 공식문서에 따르면 interceptor는 api 요청에서 then이나 catch로 처리되기 전에 응답을 가로챌 수 있도록 하는 것이다. 프로덕트에서 로그인 시에만 가능한 행동들의 경우 header에 athorization : token 옵션을 함께 보내야한다. 이때 토큰이 만료되면 서버에서 토큰 만료로 인한 오류응답을 준다.(보통 401이나 403이 토큰 만료 오류이다) 토큰 탈취 문제를 피하고자 엑세스 토큰의 유효시간은 짧게 설정해두고 리프레시 토큰을 통해 엑세스 토큰을 재발급 받아야하는데 서비스를 이용하는 유저입장에서 반복적으로 401에러를 보는 것은 굉장히 불편한 일이다. 따라서 401에러가 나오면 유저가 보지 못하게 중간에서 가..
목차 1. Redux 2. 리덕스 언제 써야 할까? 3. 리덕스 vs Context API 4. 리덕스에서 사용되는 키워드 5. 리덕스의 3가지 규칙 6. 리덕스 사용하기 1. Redux 리덕스는 리액트 생태계에서 가장 사용률이 높은 상태관리 라이브러리이다. 리덕스를 사용하면 컴포넌트들의 상태 관련 로직들을 다른 파일들로 분리시켜서 더욱 효율적으로 관리 할 수 있으며 글로벌 상태 관리도 손쉽게 할 수 있다. 리덕스에서는 리듀서와 액션이라는 개념을 사용한다. 따라서 개발 방식이 Context API와 useReducer Hook과 매우 유사하다. 참고로 redux 는 리액트에서 사용하기 위해 만들어진 라이브러리이긴 하지만 무조건 리액트와 함께 사용 할 필요는 없다. 일반 JavaScript 환경에서 사용 ..
목차 1. useCallback과 Memoization 2. useCallback 구조와 특징 3. useCallback 사용하기 1. useCallback과 Memoization useCallback은 Memoization 기법으로 컴포넌트의 성능을 최적화시켜주는 도구이다. Memoization 자주 사용되는 값을 받아오기 위해 반복적으로 계산을 해야한다면 이전에 이미 계산해둔 값을 캐싱해서 메모리에서 꺼내서 재사용하는 최적화기법이. 필요할때마다 매번 계산을 하는 것이 아니라 useMemo를 통해 캐싱해둔 값을 메모리에서 꺼내와서 재사용할 수 있다 아래와 같이 useMemo의 인자로 콜백함수를 넣어주면 이 함수가 return하는 값을 Memoization 해준다. useMemo(() => { retur..
1. node js 사용자 버전 설치2. 바탕화면, 내문서 등 원하는 곳에서 새로운 폴더 생성(이름: react-for-beginners)3. vscode에서 해당 폴더 열어줌4. vscode 상단 메뉴에서 Terminal - New Terminal 클릭 (명령어로 vscode 제어 가능)5. node -v 입력 후 현재 버전이 표시되면 node js 설치 성공한 것6. create-react-app 으로 리액트 프로젝트 생성 terminal에 npm init react-app 혹은 npm init react-app .을 입력하고 엔터(현재 폴더에 개발환경을 셋팅하겠다는 뜻)*이 때 뭐 설치하겠냐고 하면 y 눌러서 설치해주시면 됩니다.7. Success!가 뜨면 설치 완료8. 개발모드..
목차 1. useMemo 2. useMemo 구조 3. useMemo 예제1 3. useMemo 예제2 컴포넌트 최적화를 위해 사용되는 대표적인 hook은 useMemo와 useCallback이다. 오늘은 중에서useMemo에 대해 공부해보려고 한다. 1. useMemo useMemo는 리액트에서 컴포넌트의 성능을 최적화 하는데 사용되는 훅이다. useMemo에서 memo는 memoization을 뜻하는데 이는 그대로 해석하면 ‘메모리에 넣기’라는 의미이며 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술이다. 쉽게 말해 동일한 값을 반환하는 함수를 반복적으로 호출해야한다면 처음 값을 계산..
- Total
- Today
- Yesterday
- 객체
- Git
- arguments
- Next.js
- tanstackquery
- 유사배열객체
- 동기
- 스프린트프론트엔드6기
- 비제어 컴포넌트
- html
- 코드잇스프린트
- 배열
- 비동기
- 취업까지달린다
- 프론트엔드
- rest parameter
- 중급 프로젝트
- GitHub
- map
- react
- 제어 컴포넌트
- 리액트
- hydrationboundary
- innerhtml
- 코드잇 스프린트
- Target
- javascript
- js
- CSS
- currentTarget
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |