일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Machine Learning
- Redux
- CentOS
- Babel
- linux
- Node
- SQL
- deep learning
- phpredis
- docker
- nginx
- php
- Backbone.js
- python
- webpack
- AWS
- mariadb
- nodejs
- For
- Go
- 기초 수학
- 블레이드 템플릿
- React
- javascript
- fastapi
- laravel
- rabbitmq
- Redis
- Switch
- NCP
- Today
- Total
목록React (25)
개발일기
React Hook 중에는 useEffect라는 Hook이 존재한다. useEffect란 리액트에서 기본적으로 제공해주는 함수로써, useEffect함수가 포함된 컴포넌트가 처음 마운트되거나 컴포넌트가 리렌더링 될 때, 또는 선언된 변수의 값이 변경되거나 redux store의 값이 변경될 때 실행할 구문들을 정의해놓은 함수이다. 0. useEffect import방법 import { useEffect } from 'react'; react가 설치되어있으면 추가적으로 설치할 것 없이 위와같이 파일 상단에 추가하면 useEffect를 손쉽게 사용할 수 있다. 1. useEffect의 기본 형태 useEffect(() => { ... // 실행할 내용들 }); useEffect의 기본 형태는 위와 같다. 위..
useEffect를 사용할 경우, 메모리 누수가 발생하였다면서 다음과 같은 에러문구가 콘솔창에 나오는 것을 종종 확인할 수 있다. Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function 이 경우는 useEffect를 사용했을 때, cleanup function을 반환하지 않았기 때문에 발생하는 오류이다. 다음과 같이 cleanup function을 추가하면 에러가 사라지는 ..
Route exact와 Switch의 간단 정리 위의 소스코드를 바탕으로 경로를 / 로 이동할 경우 Main, Water, Juice 컴포넌트 3개가 전부 렌더링된다. Route는 경로가 부분적으로 일치하는 컴포넌트도 렌더링하는 특성을 가지고 있기 때문이다. 의도치 않은 렌더링을 위해 exact를 사용한다. / 경로로 이동할 경우 Main컴포넌트만, /water 경로로 이동할 경우 Water 컴포넌트만, /juice 경로로 이동할 경우 Juice 컴포넌트만 렌더링되게 된다. 즉, 경로가 완벽히 일치하는 컴포넌트만 렌더링 하게된다.
1. react-router-dom 설치 npm install react-router-dom yarn add react-router-dom React에서 route기능을 사용하려면 우선적으로 react-router-dom을 설치해야 한다. 2. import 부분 import { Route, Router, Switch, Link } from 'react-router-dom'; 라우트 기능을 사용할 때 많이 사용되는 4가지 모듈을 불러온다. Route path : 주소창의 경로를 지정한다. exact : 주소창의 경로와 완벽하게 일치할 때, 이 라우트의 컴포넌트를 보여준다는 의미한다. component : 보여줄 컴포넌트를 의미한다. Route 컴포넌트는 path옵션을 통해 주소창의 주소와 일치하는 컴포넌트..
React routet 설치법 npm install react-router-dom yarn add react-router-dom HashRouter 주소에 해쉬태그가 붙는다(#) -> index.html에서 index.html# 처럼 뒤에 붙는다. BrowserRouter와는 다르게 새로고침하여도 에러가 발생하지 않는다. 검색 엔진이 찾지를 못한다. 주로 정적인 페이지에서 사용된다. // HashRouter로 감싸주어 사용한다. BrowserRouter 태그를 통해 to 속성에 이동할 경로를 추가하여 이동시킨다 새로고침하면 경로를 찾지 못해 에러가 발생한다. HTML5 History API를 사용한다. 주로 동적인 페이지에서 사용된다. 메인 페이지 // BrowserRouter 감싸주어 사용한다. 두 라..
1. package.json 생성 npm init -y yarn init -y 2. 리액트관련 라이브러리 추가 npm install -D react react-dom yarn add -D react react-dom 3. 웹팩관련 라이브러리 추가 npm install -D webpack webpack-cli webpack-dev-server html-webpack-plugin yarn add -D webpack webpack-cli webpack-dev-server html-webpack-plugin 4. 바벨관련 라이브러리 추가 npm install -D @babel/cli @babel/core @babel/preset-env @babel/preset-react yarn add -D @babel/cli..
{ "compilerOptions": { "target": "es5", "module": "commonjs", "sourceMap": true, "outDir": "dist", "downlevelIteration": true, "strict": true, "noImplicitAny": false, "moduleResolution": "node", "baseUrl": ".", "paths": { "*": ["node_modules/*"] }, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true } } // tsconfig.json tsconfig.json에서 jsx라는 항목을 빼먹었기 때문에 발생하는 ..
컴포넌트란? 컴포넌트란, 기능별로 부분부분 잘게 나눠놓은 조각을 뜻한다. 리액트는 컴포넌트 기반의 라이브러리다. 하나의 프로젝트를 구성할 때, 여러개의 컴포넌트들로 화면을 구성한다. 로그인화면을 구성할 때, 아이디 입력칸, 비밀번호 입력칸, 로그인 버튼, 회원가입 버튼 등의 요소가 필요하다. 이러한 각각의 요소가 컴포넌트로써, 여러개의 컴포넌트를 결합하여 하나의 화면을 구성한다. 구성방법 아이디, 비밀번호 입력칸 const AuthBlock = () => ( return ( ); ); export default AuthBlock; 로그인버튼 const AuthButton = () => { return ( ); }; export default AuthButton; 아이디, 비밀번호 입력 컴포넌트와 로그인버..