일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ecs
- server
- action
- docker
- Reducer
- SRE
- 쿠버네티스
- 프로세스
- 쿠버네티스 컨트롤러
- javascript
- React
- 북딜
- #api 문서화
- #Swagger-ui
- 기술PM
- #스웨거
- #Swagger-codegen
- IP
- Kubernetes
- AWS
- React.js
- #Swagger-editor
- 모두의캠퍼스
- #Swagger
- 모캠
- Redux
- 프로세스 통신
- Site Reliability engineering
- fluentd
- 카카오게임즈
- Today
- Total
목록javascript (18)
탕구리's 블로그
이번 포스팅에서는 React에서 비동기 API를 사용하는 방법에 대해서 알아보겠습니다. 상태 관리에 대해서는 앞에서 배운 Redux를 활용하여 진행하고 비동기 처리를 위해 Redux 미들웨어인 Thunk를 사용합니다. 미들웨어 없이 비동기 처리를 시도해보았으나 안 되는 것 같아서 미들웨어를 사용하게 되었습니다. 비동기 API 예제를 만들어보자! 우선, 만들고자 하는 기능은 아래 이미지와 같습니다. 동작 과정 1. 버튼에 클릭하면 API를 발생시킵니다. 2. 비동기로 동작하기 떄문에 API 요청에 대한 결과가 오기 전에는 "Loading" 문구를 화면에 랜더링 해줍니다. 3. 비동기 요청이 완료된 경우 데이터를 화면에 랜더링 해줍니다. 4. 에러가 발생한 경우에는 "error"를 화면에 랜더링 해줍니다. ..
기존에 Class형 컴포넌트에서 사용하던 상태 값 관리와 Life-cycle 메서드와 같은 기능을 React 16.8 버전에 새로 추가되어 Hook이란 기능을 통해 함수형 컴포넌트에서도 사용할 수 있게 되었습니다. import React, { useState } from 'react'; function Example() { // "count"라는 새로운 상태 값을 정의합니다. const [count, setCount] = useState(0); return ( You clicked {count} times setCount(count + 1)}> Click me ); } 왜? React에서는 기존 클래스형 컴포넌트 외에 Hook이란 기능을 만들게 되었을까요 소개 영상 아래 링크는 Hook에 대한 소개 영상..
지난 포스팅에 Reducer를 생성하는 부분까지 진행했었는데요. 오늘은 스토어(store)를 생성하고 열심히 생성한 Reducer와 연결시켜주는 부분에 대해서 알아보겠습니다. 이번 포스팅은 양이 많지 않으니 조금은 마음 편하게 읽어 내려가셔도 될 것 같아요! 스토어는 무슨 역할을 할까? 애플리케이션의 상태를 저장하고 getState()를 통해 상태에 접근하게 하고 dispatch(action)를 통해 상태를 수정할 수 있게 하고 subscribe(listener)를 통해 리스너를 등록합니다. 하나의 어플리케이션에선 하나의 스토어만 운영하는 것을 지향합니다. 각종 상태와 액션을 관리하는 코드가 복잡해지는 경우 리듀서를 분리(리듀서 쪼개기)하여 관리하지만 최종적으로 하나의 리듀서(리듀서 재조합)의 형태로 만..
지난 포스팅에서 리덕스에 대한 내용을 간단히 알아보았습니다. 이번 포스팅에서는 간단한 예제들을 따라 해 보며 리덕스에 조금 더 익숙해지는 시간을 가져보도록 합시다. 지난 포스팅에서 리덕스의 세 가지 핵심 개념에 대해서 언급했었는데요. 가장 먼저 액션에 대해서 알아봅시다. 액션은 애플리케이션에서 스토어로 보내는 데이터 묶음입니다. 이들이 스토어의 유일한 정보원이 됩니다. 여러분은 store.dispatch()를 통해 이들을 보낼 수 있습니다. 라고 나와 있습니다. 액션이 생성되면 상태가 변화될 때 dispatch를 통해 reducer로 보내주게 되는 구조라고 언급했었습니다. 액션을 다루면서 해주어야 할 작업은 "액션 타입 선언"과 "액션 생성 함수"를 만들어 주는 것입니다. 액션 타입 선언 # 액션 타입 ..
오늘은 컴포넌트의 상태 관리를 도와주는 Redux(리덕스)에 대해서 공부를 해보려 합니다. 저도 리덕스에 대해서 자세히 모르는 상태입니다. 다 같이 공부하는 느낌으로 한번 정리해보는 시간을 갖도록 하겠습니다. 우선, 기본적인 개념을 알기 위해 리덕스 도큐먼트를 구경 갑니다. 총총... 리덕스란? Redux는 자바스크립트 앱을 위한 예측 가능한 상태 컨테이너입니다. (워드프레스 프레임워크인 Redux Framework와 혼동하지 마세요.) Redux는 여러분이 일관적으로 동작하고, 서로 다른 환경(서버, 클라이언트, 네이티브)에서 작동하고, 테스트하기 쉬운 앱을 작성하도록 도와줍니다. 여기에 더해서 시간여행형 디버거와 결합된 실시간 코드 수정과 같은 훌륭한 개발자 경험을 제공합니다. 글을 읽고 리덕스가 무..
이번 포스팅에서는 조건부 랜더링과 다중 컴포넌트(?)를 랜더링 하는 방법에 대해서 알아보도록 하겠습니다. 조건부 랜더링 React에서 조건부 랜더링은 if 혹은 조건부 연산자를 통해 상태에 따른 엘리먼트를 만들어 낼 수 있습니다. 음.. 한가지 예를 들어보자면 어떤 웹 사이트에 로그인을 하려고 칩시다. 로그인을 하지 않은 경우에는 "로그인 창"이 나타나게 구현할 것이고, 로그인 상태에는 "환영합니다!"라는 문구가 출력되도록 구현하고 싶으면 어떻게 해야 할까요? 그럼 이제 위에서 예시했던 로그인 창은 아니지만 counter를 구현하고 count 숫자에 따라 1~10까지 나타내는 컴포넌트 노출시켜 주는 페이지를 만들어 보겠습니다. 우선, 프로젝트를 생성합시다. create-react-app condition..
오늘은 리액트에서 발생하는 다양한 이벤트를 어떻게 등록하고 관리하는지에 대하여 알아보는 시간을 갖도록 하겠습니다. 과연~? 리액트에서는 어떻게 이벤트를 처리할까요? 간단한 예제를 만들어보며 차근차근 확인해보도록 하겠습니다. 이벤트 등록하기 우선 간단하게 counter를 생성하고 버튼을 통해 count 값을 증가시켜주는 예제를 만들어 보겠습니다. import React, { Component } from 'react' class App extends Component { render() { return ( count BUTTON ) } } APP 컴포넌트는 카운트 값과 카운트를 증가시켜줄 버튼을 하나 가지게 됩니다. 이제 count를 관리할 수 있게 state를 선언해주고 버튼 클릭 시 이벤트를 발생시킬 ..
위키 백과를 살펴보면 라우터의 사전적인 의미는 다음과 같아요. # 라우터의 사전적 의미 라우터(router[a]혹은라우팅기능을 갖는 공유기)는 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치이다. 간단하게 해석해보면 경로를 찾아주는 역할을 합니다. 리액트(SPA)에서의 라우터는 클라이언트 사이드에서 다양한 페이지에 접근이 가능하도록 합니다. 리액트에서 가장 많이 사용하는 패키지는 "react-router-dom"이며 해당 패키지의 사용법에 대해서 알아보겠습니다. # 설치 yarn add react-router-dom npm install react-router-dom "react-router-dom"의 문서를 확인해보면 기능은 ..
1.React 컴포넌트 컴포넌트? const ex = (컴포넌트); 컴포넌트는 반드시 하나의 Element만 리턴해야 합니다. (아래와 같은 코드 작성 불가) const ex = ( 1번 2번 ); 만약, 여러 개의 컴포넌트를 Return 하고 싶을 때에는 다른 태그로 한번 감싸주거나, 혹은 Fragment를 사용하도록 한다. 각각의 컴포넌트는 독립적으로 작동. const ex = ( 1번 2번 ); 함수형 컴포넌트 props만 받아서 사용이 가능하다. (state사용 불가능) life-cycle 함수가 존재하지 않습니다. 클래스형 컴포넌트에 비교하여 속도가 빠르다. ** 현재는 react-hook을 통해 함수형 컴포넌트에서 "state"를 사용, 관리가 가능하며 life-cycle과 비슷한(?) 기능 ..