쭈꾸미
코드짜는 쭈꾸미
쭈꾸미
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Journal (54)
      • Today I Learned (44)
      • 후기&회고 (4)
      • 개인 프로젝트 (4)
      • 독서일기 (2)
    • HTML, CSS (5)
    • Javascript (32)
    • Typescript (2)
    • Git, Github (4)
    • Algorithm (1)
    • React, Next.js (14)
    • API, Database (6)
      • API (0)
      • Database (1)
      • GraphQL (2)
      • Rest-API (1)
    • React-Native (1)
    • ETC (2)
    • OS (1)
      • 우분투 Ubuntu (1)

인기 글

티스토리

hELLO · Designed By 정상우.
쭈꾸미

코드짜는 쭈꾸미

API, Database

[GraphQL] Apollo-Client - refetchQueries

2022. 1. 24. 17:48

refetchQueries란?


Create / Delete 메소드를 실행할 경우, API상에서는 해당 작업이 완료되어도 화면에 다시 불러오는 작업(refetch)을 하지 않으면 변경사항이 반영되지 않는다. 실제로는 이미 지워진 데이터인데 화면상에 계속 보일 수 있는 것. 이럴 때 사용하는 것이 refetchQueries 이다.

 

용례


// 예시 코드 - 댓글 삭제하기 API
    const [deleteBoardComment] = useMutation(DELETE_BOARD_COMMENT)
    // DELETE_BOARD_COMMENT는 다른 파일에서 import 해온다.
    const onClickCommentDelete = async (event) => {
        console.log(event.currentTarget.id)
        const password = prompt("비밀번호를 입력해주세요.")
        await deleteBoardComment({
            variables: {
                password: password,
                boardCommentId: event.currentTarget.id
            },
            refetchQueries: [{
                query: FETCH_BOARD_COMMENTS,
                variables: {boardId: String(router.query.new)}
            }]
        })
    }
주의! 해당 API를 fetch 할 때 입력했던 variables가 있다면 refetch시에도 동일하게 입력해줘야 한다.

'API, Database' 카테고리의 다른 글

[API] Rest-API vs Graphql-API  (0) 2022.01.12
    'API, Database' 카테고리의 다른 글
    • [API] Rest-API vs Graphql-API
    쭈꾸미
    쭈꾸미
    느리지만 확실하게 / 웹 프론트엔드 개발자 TIL : https://jooeun-k.github.io/TIL/

    티스토리툴바