인프런 커뮤니티 질문&답변

dydtjq324님의 프로필 이미지
dydtjq324

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

비동기 통신과 리렌더링

useQuery로 fechBoard

해결된 질문

작성

·

449

0

콘솔로 데이터를 찍으면 undefined가 나옵니다 그래서 이후 강의 내용인 {data && data.fetchBoard.writer}를 해도 오류가 납니다 ㅠㅠ 무엇이 문제일까요

import { useQuery,gql } from "@apollo/client"

const FETCH_BOARD=gql`
  query fetchBoard($number:Int){
    fetchBoard(number: $number){
      writer
      title
      contents
    }
  } 
`
export default function StacticRoutedPage(){
  const {data} =useQuery(FETCH_BOARD,{
    variables:{ 
      number:3
    }
  })
  console.log(data)
  return (
    <>
      <div>1번페이지 이동이 완료되었습니다!.</div>
    </>
  )
}

답변 2

0

dydtjq324님의 프로필 이미지
dydtjq324
질문자

답변해주신 2번으로 해결했습니다

number를 500번대 이상으로 주니까 값이 나오네요

앞부분 데이터들이 많이 삭제가 된것 같아요

0

코드캠프님의 프로필 이미지
코드캠프
지식공유자

안녕하세요! dydtjq324님!

크리스마스에도 열심히 공부중이신걸 보니 감동이에요!
앞으로도 꾸준히 하셔서 원하는 목표까지 함께 도달해봐요!

먼저, 질문 주신 부분에 관하여 해당 스크린샷만 보고서는 완벽한 답을 드리기는 좀 어려울 것 같아요.
하지만 예상되는 답안으로는 약 3가지 정도가 있을 것 같아요


1. 통신중에 발생한 문제
=> 만약 해당 문제라면, apollo-client의 사용 및 app.js 작동원리 수업 39:30초에서 문제 해결 방법이 안내되어 있으니, 다시 한 번 복습해 주시면 좋을 것 같아요.

2. 조회하신 3번 게시글을 누군가 삭제하여 정말로 없는 게시물(undefined) 결과를 받은 문제
=>
만약 해당 문제라면, data?.fetchBoard?.writer 와 같은 형식으로 사용해 보세요(이 결과의 undefined는 삭제된 게시물이므로 정상이라고 생각하시면 됩니다.) - 이 경우는 다른 게시물 번호(ex, 4번 등)로 학습해 주세요.

3. 백엔드 주소가 잘못 입력된 경우.
=>
_app.js 부분의 graphql 주소가 http://practice.codebootcamp.co.kr/graphql 로 오타가 있지는 않은지 한 번 확인 부탁드립니다.


위 3가지 방법으로도 해결이 되지 않으신다면, 해당 Network 탭의 요청(payload), 응답(response) 부분을 캡쳐해서 올려주세요!
감사합니다.

dydtjq324님의 프로필 이미지
dydtjq324

작성한 질문수

질문하기