반응형

React 43

[ReacTS] React Query를 이용한 API 통신(useQuery, useQueries)

React Query는 API 통신, 캐싱 등 비동기 과정을 더욱 편하게 하는 데 사용된다. ** 장점 ** 1) fetcher 함수를 만들어 연결시키고, 응답 데이터를 받아온다. ( API 통신 ) 2) Caching 매커니즘을 가지고 있어 고유의 key값을 넘기게 되면 API 통신을 하지 않고, 캐시에 저장되어 있던 데이터를 가져온다. (다시 불러올 경우 캐시에서 가져옴) 3) ReactQueryDevTools 라는 컴포넌트를 가지고 있는데 캐시에 어떤 query가 있는지 보여주고, Data Explorer를 보여준다. 1. 라이브러리 설치 npm i react-query 2. useQuery 사용방법 2-1) Provider 패턴 적용 ( index.tsx ) import React from "re..

React 2022.08.25

[React] Nested Router (중첩 라우터)

Route안에 있는 또 다른 Route로 부모 경로 요소에서 자식 경로 요소를 렌더링 하는 데 사용해야 한다. * 참고 * https://reactrouter.com/docs/en/v6/getting-started/overview 1. 첫번째 방법 ( router 파일) 부모 Route 안에 자식 Route 추가 ( 부모 파일 ) import { Outlet } from "react-router-dom"; function 부모() { return ( 부모 ); } 자식 Route들이 어디에 render 될지 부모의 element안에 Outlet을 이용해 표시 ( Props 전달) Qutlet 컴포넌트의 context 속성에 props 전달 가능 import { useOutletContext } from ..

React 2022.08.24

[React] React CSS 셋업 방법(CSS reset, Font 적용)

CSS를 따로 설정하지 않으면 브라우저의 기본 스타일이 적용되어있다. 때때로 List의 Item들에 padding, margin 등 설정되어있는데 일일이 0으로 설정해줘야 하는 경우가 있다. 이럴 때 CSS 셋업을 통해 내가 원하는 CSS를 적용해주면 편리하게 사용 가능하다. 1. 필요 라이브러리 (styled-components) npm i styled-components npm i --save-dev @types/styled-components 2. 전체 도큐먼트에 적용 방법 import { createGlobalStyle } from "styled-components"; import Router from "./Router"; /* 전역 스코프에 올림 */ const GlobalStyle = crea..

React 2022.08.21

[ReactTS] TypeScript 기본 문법

TypeScript는 JavaScript의 상위 집합으로 JavaScript에서 제공하는 대부분을 지원한다. ES5 모든 문법, ES6의 문법의 대부분을 사용 가능하다. 1. Props /* props 타입 정의 */ interface DummyProps { text: string; // 값 명시 text: "Hi"|"Hello"|"By" } /* 오브젝트의 타입이 DummyProps */ const Dummy = ({text}:DummyProps) => { return {text} } function App() { return ; } interface를 통해 props 타입을 정의해 준다. Dummy컴포넌트의 오브젝트에 타입을 지정한다. 값을 명시하게 되면 이외 문자 사용 x 2. Optional(선택..

React 2022.08.20

[ReactTS] React TypeScript 프로젝트 생성 방법

1. 새로운 프로젝트 생성 방법. npx create-react-app 파일명 --template typescript 확장자 ts : 순수 TypeScript 파일이다. (JavaScript의 .js) 확장자 tsx : TypeScirpt에 React문법을 담은 확장자 파일이다. (JavaScript의 .jsx) 2. 기존 ReactJS파일을 TypeScript로 변환 방법. npm install --save typescript @types/node @types/react @types/react-dom @types/jest @types/이 package이름에 앞에 붙음으로써 nodeJS, react, jest 각각에 typescript의 문법을 적용 이후, js확장자를 tsx확장자로 변경 3. 라이브러리..

React 2022.08.20

[ReactTS] TypeScript란?

TypeScirpt는 Javascript의 확장판으로 Strongly-Type언어이다. Strongly-Typed란? 프로그래밍 언어가 작동하기 전에 Type을 확인 한다는 말이다. TypeScript - 컴파일 에러 (코딩할 때 알 수 있음) JavaScript - 런타임 에러 1. JavaScript와 TypeScript /*** JavaScript ***/ const plus = (a, b) => a + b; plus(2,2) // 4 plus(4, "h2") // 2h2 - a + b의 결과만 내보낸다. /*** TypeScript ***/ const plus = (a:number, b:number) => a + b; plus(2,2) // 4 plus(4, "h2") // 오류 발생 - para..

React 2022.08.20

[ReactJS] Style Components

css 파일을 밖에 두고, 태그나 id, class이름으로 가져와 쓰지 않고, 동일한 컴포넌트에서 컴포넌트 이름을 쓰듯 스타일을 지정하는 것을 styled-components라고 한다. css 파일을 밖에 두지 않고, 컴포넌트 내부에 넣기 때문에, css가 전역으로 중첩되지 않도록 만들어주는 장점이 있다. css를 적용하기 위한 3가지 방법 - 태그에 직접 속성 style={} - 적용 속성 모듈화 파일 생성 (Button.module.css) - Style Component 1. 라이브러리 설치 npm i styled-components /* TypeScript의 경우 추가 */ npm i @types/styled-components 2. 사용방법 import styled from "styled-com..

React 2022.08.18

[ReactJS] React Router

리액트는 SPA(single page Application) 방식으로써, 여러 개의 페이지를 사용하며, 새로운 페이지를 로드하는 기존의 MPA방식과 달리, 하나의 페이지 안에서 필요한 데이터만 가져오는 형태를 가진다. 1. 라이브러리 설치 npm install react-router-dom /* TypeScript의 경우 해당 패기지도 추가 설치 */ npm install --save @types/react-router-dom 2. Rounter 방법 두 가지 Browser Router - 도메인/ - 동적인 페이지에 적합 - 검색 엔진 사용 가능 - Github page 배포가 복잡 Hash Router - 도메인/#/ - 정적인 페이지에 적합 - 검색 엔진 사용 불가능 (#값 때문에) - Github..

React 2022.08.17

[ReactJS] useEffect

컴포넌트는 state가 변경될 때 마다 계속 실행된다. useEffect는 한번만 실행이 필요한 코드를 사용하여 첫 렌더링 시점에만 실행되도록 만들어준다. useEffect가 필요한 경우 API를 통해 데이터를 가져올 경우 첫 번째 컴포넌트에서 렌더링할 때 API를 call하고, 이후에 state가 변환할 때, 그 API값을 또 다시 가져오지 않게 하기 위해 사용 1. useEffect는 두개의 파라미터를 가진다. 첫 번째 param : 콜 백함수 (실행하고 싶은 함수 ) 두 번째 param : dependency , 원하는 state가 변경될 때 실행되게 만든다. “[]”로 주게되면 최초 렌더링 시점에만 실행되게 된다. dependency란? react.js가 지켜보아야 하는 것들을 말한다. 2. 사용..

React 2022.08.16

[ReactJS] React 설치(node.js, npx) 및 실행

1. node.js 설치 https://nodejs.org/en/download/ Download | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org - 위 사이트에서 윈도우, 맥 상황에 맞게 설치한다. C:\Users\kang>node -v v14.15.5 C:\Users\kang>npm -v 6.14.11 - 정상 설치되었다면 version 확인, node js를 다운받으면 npm이 자동 설치된다. 2. npx 설치 C:\Users\kang>npm install npx -g C:\Users\kang\AppData\Roaming\npm\npx -> C:\Users\kang\AppData\..

React 2022.08.14
반응형