inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

고급 - 데이터 캐싱, Devtools

데이터 캐싱 부분에 대해 질문있습니다.

76

부드러운 족제비

작성한 질문수 66

0

안녕하세요 현재 고급- 데이터캐싱 부분의 강의를 보고 있는데 Fresh 상태에서는 데이터를 가져온 후 저장되어 있어 이 저장된 데이터를 사용하다 Stale상태가 되면 자동으로 다시 데이터가 요청되어 가져온다 라고 이해하고 있는데 맞는걸까요?

react React-Context react-router tailwindcss react-query

답변 2

0

짐코딩

안녕하세요!

네 맞습니다~! React Query(TanStack Query)의 데이터 캐싱 메커니즘을 설명드리자면:

  1. Fresh 상태: 데이터를 처음 가져오면 이 데이터는 "신선한(Fresh)" 상태로 캐시에 저장됩니다. 이 상태에서는 동일한 쿼리를 실행할 때 네트워크 요청을 하지 않고 캐시된 데이터를 바로 사용합니다.

  2. Stale 상태: staleTime이 지나면 데이터는 "오래된(Stale)" 상태가 됩니다. 이 상태에서는:

    • 화면에 해당 데이터를 보여줄 때는 일단 캐시된 데이터를 사용합니다.

    • 동시에 백그라운드에서 자동으로 refetch(재요청)을 수행하여 최신 데이터를 가져옵니다.

    • 새 데이터가 도착하면 UI를 자동으로 업데이트합니다.

이러한 메커니즘 덕분에 사용자는 항상 데이터를 볼 수 있으면서도(캐시 덕분에), 최신 데이터도 자동으로 받아볼 수 있습니다(백그라운드 refetch 덕분에).

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 부드러운 족제비님.

귀하께서 말씀하신 데이터 캐싱 개념은 아주 중요한 부분입니다. 우선, 데이터 캐싱은 네트워크 요청을 최소화하고 애플리케이션 성능을 향상시키는 방법입니다. 귀하의 이해가 거의 정확합니다.

  • Fresh 상태: 캐시에 저장된 데이터가 업데이트된 상태이며, 네트워크 요청 없이 사용됩니다.
  • Stale 상태: 데이터가 오래돼 가치가 떨어져, 일단 사용은 가능하지만 곧 새로운 데이터를 받아야 하는 상태입니다. 이 상태에서는 백그라운드에서 데이터가 갱신됩니다.

React Query와 같은 라이브러리를 사용하면 데이터가 Stale 상태일 때 자동으로 데이터를 다시 가져오는 메커니즘을 활용할 수 있습니다. 이러한 방식으로 애플리케이션의 성능을 크게 최적화할 수 있습니다.

추가적인 이해를 돕기 위해 관련된 질문 스레드를 참고해 보시면 좋습니다: Todo Context에 대해 질문있습니다..

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

오타?

0

30

1

뭐하나 여쭤봐도 될까요?

0

70

1

안녕하세요 질문이 있습니다.

0

56

2

질문 : 삭제 버튼 아규먼트 (id)

0

50

1

Tailwind 버전 확인

0

63

1

align-items 정렬

0

50

2

vite 명령어로 프로젝트를 만들었습니다. (vscode)

0

79

1

31. 객체 업데이트 하기 - 10:15 질문

1

56

2

강의교안, 내용 인용해서 블로그 글 작성

1

80

2

이미지가 출력되지 않아요

1

76

2

강의와 만들어진 코드가 달라요

0

76

3

AI와 CSS 라이브러리의 궁합

0

97

1

onClick 이벤트에 함수 넘길 때

0

68

1

린캔버스 기능 구현은 왜 못하나요.... 구현하고 싶습니다...

0

101

1

notes 없음 읽기 오류

0

72

1

Object.assign 문법

0

64

1

react-router 전혀 기능 안함

0

54

1

react-router-dom@6.25.1

0

47

1

React Router 최신 스펙

0

209

1

Immer 에서 filter, map 사용

0

55

1

vite 설치에 대해 질문있습니다.

0

76

2

라이브러리 버전 일치 이슈

0

77

1

"Enter 키 발생 시 항목 추가" 부분에서 공백이 포함되면 한 줄이 더 입력됩니다

0

51

2

TotalCounter을 작성할때

0

66

2