일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JavaScript
- objective-c
- 티스토리챌린지
- Vue.js
- 스위프트
- HTML
- C
- 타입스크립트
- 웹개발
- hooks
- 오블완
- 조건문
- SWIFT
- const
- TypeScript
- 코딩
- frontend
- 자바스크립트
- 연산자
- 리액트
- 개발
- jsx.intrinsicelements 형식에 속성이 없습니다
- 자바
- vuejs
- 설치
- 상수
- ios
- react
- c언어
- 프론트엔드
- Today
- Total
목록react (6)
스펜서 개발블로그
리액트를 활용하여 개발을 하면서 화면이 복잡한 경우, 성능 최적화에 신경을 쓰게 될 경우가 있다. 최근 진행한 프로젝트에서는 종합적으로 관리하는 페이지를 만들다보니 특정 페이지에서 렌더링 하는데 시간이 조금 더 소요되는 경우가 있었다.그래서 특정 상황에서 useCallback()을 사용하는 경우가 생겼는데 useCallback()에 대해 알아보기 전에 동일하게 Memorization으로 최적화에 사용하는 useMemo()에 대해 먼저 정리해보려고 한다. useMemo란?리액트에서 컴포넌트의 성능을 최적화하는데 사용하는 hook으로 특정 함수의 결과 값을 임시 메모리에 담아두고(캐싱) 사용하여 렌더링을 줄이고 계산을 최적화 하는데 사용한다. (Memoization 개념)useCallBack과의 차이점은 u..

새로 프로젝트를 받아 설치를 마쳤는데 import문과 html 요소들, tsconfig.node.json 파일의 moduleResolution, allowImportingTsExtensions에서 빨간 줄이 나오고 있었다.하지만 서버는 정상적으로 빌드가 되고 실행이 되고 있었다. 이럴 때는 내 디바이스(vscode)에 설치된 타입스크립트 버전과 프로젝트의 타입스크립트 버전이 다른지 체크해주면 된다. vscode를 사용 중이라면 'cmd(alt) + shift + p'를 눌러서 'Typescript 버전 선택'을 눌러서 '작업 영역 버전 사용'을 눌러주면 된다. 만약 설정에서 보고 싶다면 설정에서 typescript를 찾아보면 아래와 같이 확인 할 수 있다.아래 변경된 항목(4번째)를 체크해주면 된다.
어쩌다보니 내가 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. 빌..

조건문 Vue.js에서 조건문은 명시한 조건에 충족할 때 해당 태그를 포함한 하위 태그를 모두 보여주고 실행할 함수나 데이터 바인딩이 있다면 이를 수행한다. 종류 v-if v-if의 경우, if문의 결과가 true일 때 해당 태그를 화면에 보여주고 혹시 함수가 있다면 함수를 호출하여 실행한다. 사용자의 분류 코드에 따라 화면을 다르게 구성하거나 모달(modal)창을 띄울 때 사용하기도 한다. v-if를 사용하면 뒤에 v-else-if와 v-else도 함께 사용한다. v-if는 조건에 충족하지 않을 경우, 랜더링을 하지 않기 때문에 DOM에 남아있지 않으며, 주로 자주 바뀌지 않는 부분에 사용된다. 프로모션 링크 관리 링크 export default { name: 'App', data() { return ..