| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- UNKNOWN
- 제네릭
- 타입스크립트
- c언어
- 자바스크립트
- Vue
- frontend
- 뷰
- 티스토리챌린지
- ios
- const
- 백엔드
- 오블완
- Vue.js
- SWIFT
- any
- vuejs
- hooks
- JavaScript
- react
- 타입
- 상수
- TypeScript
- 코딩
- 리액트
- 개발
- 웹개발
- 스위프트
- objective-c
- 프론트엔드
- Today
- Total
목록Front-End/React (5)
프론트엔드 괴발개발 블로그
올해 업무를 하거나 면접을 보면서 React Query를 사용하거나 물어보는 경우가 많았다.특히 외국인 개발자분은 면접 중에 특이한 케이스를 주시고 이때 React Query를 어떻게 사용할건지 물어보시는 경우도 있었다.그래서 공부하면서 자주 잊는 부분들을 정리하고 가려고 한다. useMutation의 경우, onSuccess, onError등 적은 갯수의 옵션을 갖지만 useQuery를 옵션 값이 많아 useQuery에 대해 정리하였다.참고로 자주 사용되는 옵션은 queryKey, queryFn, staleTime, enabled, refetchWindowFocus, select 정도이다. useQuery의 옵션들queryKey캐시를 구분하는 고유한 키로 키가 같으면 동일한 캐시를 공유함 queryF..
리액트를 활용하여 개발을 하면서 화면이 복잡한 경우, 성능 최적화에 신경을 쓰게 될 경우가 있다. 최근 진행한 프로젝트에서는 종합적으로 관리하는 페이지를 만들다보니 특정 페이지에서 렌더링 하는데 시간이 조금 더 소요되는 경우가 있었다.그래서 특정 상황에서 useCallback()을 사용하는 경우가 생겼는데 useCallback()에 대해 알아보기 전에 동일하게 Memorization으로 최적화에 사용하는 useMemo()에 대해 먼저 정리해보려고 한다. useMemo란?리액트에서 컴포넌트의 성능을 최적화하는데 사용하는 hook으로 특정 함수의 결과 값을 임시 메모리에 담아두고(캐싱) 사용하여 렌더링을 줄이고 계산을 최적화 하는데 사용한다. (Memoization 개념)useCallBack과의 차이점은 u..
어쩌다보니 내가 2년차에 현재 회사에 입사 했을 때 모든 웹 개발자는 퇴사하고 없는 상황이었다.그래서 처음에는 다른 인원에 맞춰 모바일 네이티브 언어로 개발도 했었고 그 뒤로 웹앱과 웹을 하고 있는데 Vuejs와 React를 도입했으나 아무도 가르쳐주는 사람이 없었다. 외주 프로젝트가 많은 이상 개발 기간이 넉넉하지도 않고 위의 두 라이브러리, 프레임워크로 개발을 하다보니 최적화된 설계 없이 특정 기능들을 위주로 개발하게 되었다.특히 React에서는 특정 hooks, 예를 들면 useState와 useEffect의 숫자가 너무 많거나 이외의 hooks를 거의 사용하지 않고 개발하는 상황이 벌어졌다. 그나마 필요한 순간마다 공부하여 프로젝트에 적용하였고 프로젝트 사이마다 조금씩 시간이 나면 프로젝트 문서를..
react-helmet-async란'react-helmet-async' 라이브러리는 리액트 애플리케이션의 부분을 동적으로 관리할 수 있도록 도와주는 라이브러리이다.'react-helmet'의 문제점을 해결하기 위해 만들어진 포크(fork) 버전이며 'react-helmet'이 'react-side-effect'에 의존하고 있어 서버 사이드 렌더링 환경에서 비동기 작업을 처리할 때 문제가 발생할 수 있다. 사용하는 이유리액트는 SPA(Single Page Application)이다.그래서 각 페이지별로 title이나 meta 태그 등을 설정하기 어렵고, 크롤러가 모든 페이지의 정보를 가져갈 수 없어 검색엔진최적화(SEO)에 좋지 않다.이런 단점을 보완하기 위해 각 페이지별로 title과 meta 태그를 ..
1. 프로젝트 생성하기 npm init react-app . 터미널에서 원하는 디렉토리에 들어가서 npm init react-app .를 입력하면 현재 디렉토리에 리액트 프로젝트를 생성합니다. 만약 위 방법을 사용할 때 에러가 난다면 아래 방법으로 빌드한다. npx create-react-app my-app 2. 개발 모드 실행하기 npm run start 터미널에서 npm run start를 입력하면 개발 모드 서버가 실행됩니다. 3. 실행 중인 서버 종료하기 ctrl + c (맥북은 cmd + c) 서버가 실행 중인 터미널에서 ctrl + c를 입력하면 서버가 종료됩니다. 4. 개발된 프로젝트 빌드하기 npm run build 터미널에서 npm run build를 입력하면 빌드를 시작합니다. 5. 빌..