일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 객체 비교
- 예외처리
- 생성자오버로드
- NestedFor
- 자바
- Java
- 사용자예외클래스생성
- exception
- 추상메서드
- 예외미루기
- abstract
- oracle
- 참조형변수
- 컬렉션 타입
- 다형성
- 메소드오버로딩
- cursor문
- 한국건설관리시스템
- 자동차수리시스템
- 컬렉션프레임워크
- GRANT VIEW
- 정수형타입
- 대덕인재개발원
- 제네릭
- EnhancedFor
- 어윈 사용법
- 집합_SET
- 환경설정
- 오라클
- 인터페이스
- Today
- Total
목록React/React_백엔드 프로그래밍 (25)
거니의 velog
(6) redux-saga 코드 준비하기 * 이번에는 redux-saga를 사용하는 경우 서버 사이드 렌더링을 어떻게 해야 하는지 알아보자. * yarn으로 redux-saga를 설치하자. $ yarn add redux-saga * users 리덕스 모듈에서 redux-saga를 사용하여 특정 사용자의 정보를 가져오는 작업을 관리해 보자. [modules/users.js] import axios from "axios"; import { call, put, takeEvery } from "redux-saga/effects"; const GET_USERS_PENDING = "users/GET_USERS_PENDING"; const GET_USERS_SUCCESS = "users/GET_USERS_SUCCES..
4. 데이터 로딩 * 데이터 로딩은 서버 사이드 렌더링을 구현할 때 해결하기가 매우 까다로운 문제 중 하나이다. 데이터 로딩을 한다는 것은 API 요청을 의미한다. 예를 들어 페이지에서 필요로 하는 데이터가 있다면 API를 요청해서 응답을 받아 와야 한다. 일반적인 브라우저 환경에서는 API를 요청하고 응답을 받아 와서 리액트 state 혹은 리덕스 스토어에 넣으면 자동으로 리렌더링하니까 큰 걱정은 없다. 하지만 서버의 경우 문자열 형태로 렌더링하는 것이므로 state나 리덕스 스토어의 상태가 바뀐다고 해서 자동으로 리렌더링되지 않는다. 그 대신 우리가 renderToString 함수를 한 번 더 호출해 주어야 한다. 게다가 서버에서는 componentDidMount 같은 라이프사이클 API도 사용할 수..
(4) 서버 코드 작성하기 * 서버 사이드 렌더링을 처리할 서버를 작성해 보자. Express라는 Node.js 웹 프레임워크를 사용하여 웹 서버를 만들어본다. 이 과정은 꼭 Express가 아니어도 상관없으며, Koa, Hapi또는 connect 라이브러리를 사용하면 구현할 수 있다. 우리는 서버 사이드 렌더링을 할 때 Express를 사용한 이유는 해당 프레임워크가 사용률이 가장 높고, 추후 정적 파일들을 호스팅할 때도 쉽게 구현할 수 있기 때문이다. * 먼저 yarn을 사용하여 Express를 설치해 주자. $ yarn add express * react-router-dom 버전을 5로 다운그레이드 한다. $ yarn remove react-router-dom $ yarn add react-rout..
3. 서버 사이드 렌더링 구현하기 * 서버 사이드 렌더링을 구현하려면 웹팩 설정을 커스터마이징해 주어야 한다. CRA로 만든 프로젝트에서는 웹팩 관련 설정이 기본적으로 모두 숨겨져 있으니 yarn eject 명령어를 실행하여 밖으로 꺼내 주자. $ git add . $ git commit -m'Commit before eject' $ yarn eject (1) 서버 사이드 렌더링용 엔트리 만들기 * 엔트리(entry)는 웹팩에서 프로젝트를 불러올 때 가장 먼저 불러오는 파일이다. 예를 들어 현재 작성 중인 리액트 프로젝트에서는 index.js를 엔트리 파일로 사용한다. 이 파일부터 시작하여 내부에 필요한 다른 컴포넌트와 모듈을 불러오고 있다. * 서버 사이드 렌더링을 할 때는 서버를 위한 엔트리 파일을 ..
1. 서버 사이드 렌더링의 이해 * 서버 사이드 렌더링은 UI를 서버에서 렌더링하는 것을 의미한다. 앞에서 만든 리액트 프로젝트는 기본적으로 클라이언트 사이드 렌더링을 하고 있다. 클라이언트 사이드 렌더링은 UI 렌더링을 브라우저에서 모두 처리하는 것이다. 즉, 자바스크립트를 실행해야 우리가 만든 화면이 사용자에게 보인다. * 한번 CRA로 프로젝트를 생성하고 개발 서버를 실행해 보자. 그리고 크롬 개발자 도구의 Network 탭을 열고 새로고침을 해 보자. $ yarn create react-app ssr-recipe $ cd ssr-recipe $ yarn start * package.json을 다음의 코드를 참조하여 다시 빌드하자. { "name": "server-side-rendering", "v..