top of page

React (리액트) 와 gRPC-Web : PART 2 : gRPC-Web 서버로 부터 데이터 받기

이번 글에서는 리액트로 gRPC-Web 서버에서 데이터 가져오기를 해 보겠습니다. 저번 글에서 생성된 두 개의 컴필레이션 파일을 이용하여 gRPC-Web 서버나 프락시에서 데이터를 가지고 와 보겠습니다.

 

1. Prerequisites (준비사항)


a. 리액트 프로젝트 및 .proto 파일과 컴파일된 두 개의 자바스크립트 파일

아래의 파일들로 이 글을 작성해 보겠습니다. 이 예제에선 아래 세 가지 파일들은 모두 src/protos 폴더에 위치해 있습니다.

  • greet.proto

  • greet_grpc_web_pb.js

  • greet_pb.js


b. gRPC-Web 서버나 프락시

위의 파일들은 greeter 서비스를 이용하므로 서버에서도 같은 서비스가 노출이 되어 있어야겠죠? 사용하시는 서비스를 서버와 클라이언트에 맞게 준비하여 주세요.

 

2. 코드


이 글의 목적은 클라이언트 세팅이므로 서버 부분은 생략하도록 하겠습니다. 예제로서 이글에선 hello.jsx 파일을 완성해보겠습니다.


a. 우선 Client, Service Request, Service Response 세 가지를 정의합니다.


{ } 안의 이름은 임의가 아닙니다. 각 컴필레이션 파일들을 열어보면 이 이름으로 정의되어있습니다.

greet_grpc_web_pb.js GreeterClient 정의


greet_pb.js HelloRequest와 HellpReply의 정의


b. GreeterClient를 생성합니다


c. 서비스 호출 컨스턴트의 정의

서비스를 호출하여 돌아오는 값을 txtTitle에 넣습니다


여기에서 setName, getMessage는 greet_pb.js 파일 내 정의 (아래 코드블록 참조)가 되어 있습니다


d. 페이지 컴포넌트

h1과 button을 넣습니다. button을 누르면 서비스를 호출하여 h1을 업데이트하는 방식입니다


 

아래의 코드블록이 hello.jsx 컴포넌트의 완전체입니다.


 

수고하셨습니다~ 감사합니다

pngegg (11)_result.webp

<Raank:랑크 /> 구독 하기 : Subscribe

감사합니다! : Thanks for submitting!

bottom of page