일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 머신러닝
- Kaggle
- 캐글
- Kubernetes
- ADP
- 차원 축소
- React
- TooBigToInnovate
- bigquery
- do it
- frontend
- 최적화
- r
- 타입스크립트
- docker
- LDA
- 대감집 체험기
- Machine Learning
- python
- 리액트
- 대감집
- 구글
- DBSCAN
- ADP 실기
- 프론트엔드
- 심층신경망
- 클러스터링
- 빅쿼리
- 파이썬
- 쿠버네티스
- Today
- Total
목록리액트 (4)
No Story, No Ecstasy
15. Context API - Context API는 전역적으로 사용할 데이터가 있을 때 유용한 기능 - 예) 로그인 정보, 애플리케이션 환경 설정, 테마 등 - 새 Context 만들기 . import { createContext} from 'react'; . const ColorContext = createContext({ color: 'black' }); - Provider를 사용하면 Context의 value를 변경할 수 있다. . Provider를 사용할 때는 value 값을 명확히 명시해야 한다. - 동적 Context 사용하기 . Context의 value에 값이 아닌 함수를 전달할 수도 있다. . onClick: 좌클릭, onContextMenu: 우클릭 (e => {e.preventDe..
14. 외부 API를 연동하여 뉴스 뷰어 만들기 - 비동기 작업의 이해 > API 호출해서 데이터 받아오기 > API 키 발급받기 > 뉴스 뷰어 UI 만들기 > 데이터 연동하기 > 카테고리 기능 구현하기 > 리액트 라우터 적용하기 - 비동기 작업의 이해 . setTimeout(func, 3000) : 3초 후에 func 수행 - Promise: 콜백 지옥 코드가 형성되지 않도록 ES6에 도입된 기능 . then을 사용하며 그 다음 작업을 설정하기 때문에 콜백 지옥이 형성되지 않는다. function increase(number) { const promise = new Promise((resolve, reject) => { setTimeout(() => { const result = number + 10;..
13. 리액트 라우터로 SPA 개발하기 - SPA (Single Page Application)란? . 기존에는 사용자에게 보이는 화면은 서버 측에서 준비했다. . 리액트 같은 라이브러리를 사용하는 뷰 렌더링은 사용자의 브라우저가 화면 준비를 담당한다. . 인터랙션이 발생하면 필요한 부분만 자바스크립트를 사용하여 업데이트한다. (서버 API로 필요한 데이터만 새로 불러옴) . 라우팅(다른 주소에 다른 화면을 보여주는 것): react-router, reach-router, Next.js 등 - SPA의 단점 . 앱의 규모가 커지면 자바스크립트 파일이 너무 커진다. . 그러나, 코드 스플리팅을 사용하면 라우트 별로 파일들을 나누어서 트래픽과 로딩 속도를 개선할 수 있다. . 자바스크립트를 수행하지 않는 일..
12. immer를 사용하여 더 쉽게 불변성 유지하기 - 전개 연산자와 배열의 내장 함수를 사용하면 간단하게 객체를 복사 및 갱신이 가능하다. - 하지만, 객체의 구조가 엄청나게 깊어지면 불변성을 유지하면서 이를 업데이트하는 것이 힘들어진다. - immer를 사용하면 구조가 복잡한 객체도 매우 쉽고 짧은 코드를 사용하며 불변성을 유지하며 업데이트할 수 있다. - immer 설치 $ yarn create react-app immer-tutorial $ cd immer-tutorial $ yarn add immer - immer 사용법 Ex 1) import produce from 'immer'; const nextState = produce(originalState, draft => { // 바꾸고 싶은 ..