이제 남은 건 게임 그 자체와 라우팅(Routing)뿐이에요
라우팅은 인증 단계에 필요하죠
사용자 이름을 넣고 암호를 넣은 다음, 경로 변경(라우팅)이 필요합니다
우리는 이런 앱을 만들었어요, Chrome에서 입력 창에 이름과 암호를
입력하고 전송하면 입력한 정보가 데이터베이스에 성공적으로 추가됩니다
제가 하려는 건 사용자를 추가한 뒤에, 해당 사용자에게 게임에 온 걸 환영한다는 컴포넌트를
렌더링하는 겁니다
먼저 해볼 수 있는 건 chat GPT에게 물어보는 거죠
작성한 코드를 복사해서 다는 필요 없을 테니 필요한 부분만 가져갈게요
반환문만 가져가 보겠습니다
먼저 이걸로 해보죠, ‘아래와 같은 리액트 반환문이 app.js 코드에있을 때 헤더에는 게임에 오신 걸 환영합니다+username 님 라고 하고 username을 표시하는 페이지 컴포넌트를 추가해주세요'
이렇게 질문을 작성하고 밑에 아까 가져온 반환문코드를 붙여 넣을게요
ChatGPT가 뭐라고 하는지 봅시다
정확히 제가 하려고 했던 거예요
먼저 ‘WelcomPage’라는 새 컴포넌트를 만듭니다
속성(props)을 username을 받네요
다른 컴포넌트로 속성(props) 객체를 넘길 수 있는 게 리액트의 장점이죠
속성(props)는 한쪽 방향으로만 넘길 수 있습니다.
(컴포넌트가 여러 개 있을 때는 리덕스(Redux)를 사용)
username을 속성(props)으로 받아와서 헤더에 해당 메시지를 표시합니다.
그런 다음 앱에서 username 상태 변수를 WelcomePage에 넘겨주고
WelcomePage 컴포넌트에서는 그 변수를 받아 환영 문구와 사용자 이름을 앱 UI에
표시합니다
WelcomePage를 만들고 이름도 업데이트하고요
스크롤을 위로 올려서 답변 맨 위로 올라가봅시다
그럼 먼저 ‘WelcomPage.jsx’라는 새 컴포넌트를 만들어봅시다
자바스크립트 확장 문법을 쓸 거라서 .jsx로 했습니다
여기에 리액트 페이지를 만들 거예요
먼저 import './App.css'; 입력하여 스타일을 적용하겠습니다,
그런 후 코드를 복사 하여 ‘WelcomePage’이름을 가진 함수를 만들겠습니다
그리고 저희는 이미 <h1>커넥트 4 게임에 오신 것을 환영합니다!!</h1> 라는 부문이 App.js에 있기때문에 지워주세
그러면 props 객체를 통해 사용자 이름을 받아올 수 있어요 그런 다음 저장 하시면
‘export default’로 WelcomPage 내보내 모듈처럼 쓸 수 있어요
이제 이 함수, 함수형 컴포넌트를 우리 앱과 통합해야 합니다
App.js로 돌아가서 통합해 볼게요
어떻게 통합해야 할까요?
먼저 이 컴포넌트를 ‘import WelcomePage from ‘./welcome’;’입력하여 임포트해야 합니다, 라이브러리처럼요
그럼 이제 return 문에서 새 컴포넌트를 사용해 환영 문구가 잘 나오는지부터
봐야겠죠, 아래 있는 '커넥트 4 게임에 오신것을 환영합니다!!'환영 문구 대신에 h1 태그 자리에
WelcomePage 컴포넌트를 넣고 props 속성을 모두 넘겨주는 겁니다
GPT에 return 부분을 복사 후 붙여넣어주세
위와같이WelcomePage 컴포넌트를 넣고 username을 속성을 username으로 지정하여 속성을 모두 넘겨 줍니다.
이렇게 코드를 저장하고 Chrome으로 가면 사용자 이름에 coding을 넣으면 뒤에 coding이 나옵니다,
암호에도
yooncoding을 넣고 전송하면
yooncoding이 데이터베이스에 저장됐다고 나옵니다
실제로 저장됐는지 확인해보죠
mongodb 데이터 클라우드로 가서 DB를 새로 고치고 밑으로 가보면 ‘yooncoding’이 있어요,
이제 리액트 클라이언트 쪽에서 값을 넘겨줄 수 있어요
그런데 라우팅도 가능한가요?
아니죠, 라우팅 설정은 아직 안 했습니다, 하지만 새로운 함수형 컴포넌트를 만들었고 잘 동작합니다
동작할 뿐만 아니라 클라이언트 쪽에 업데이트되죠
다음 시간에도 많은 걸 살펴볼 겁니다
'gpt를 통한 풀스텍 개발자 쌉가능' 카테고리의 다른 글
레슨 10: 클라이언트 코드 문제 해결 (리액트 기반의 커넥트4 코드 구조 예제 요청) (0) | 2023.06.23 |
---|---|
레슨 9: ChatGPT로 앱에 내비게이션 추가(리액트에서 라우팅 설정하고 탐색、 페이지 렌더링하기) (0) | 2023.06.23 |
레슨 7-1: Express와 React로 데이터베이스 활용하기(클라이언트에서 데이터베이스로 요청 전송) (0) | 2023.06.21 |
레슨 7: Express와 React로 데이터베이스 활용하기( MongoDB 데이터베이스 사용하는 법 알아보기) (0) | 2023.06.16 |
레슨 6-2: ChatGPT로 앱의 사용자 화면 설정하기(사용자 이름과 비밀번호 입력 기능 구현) (0) | 2023.06.14 |