티스토리 뷰

Study/TIL (Today I Learned)

20220708 TIL

GrapeMilk 2022. 7. 9. 09:44

1. inactive vs active (react-query)

 - 같은 키를 가진 캐싱된 query중에서 가장 최근에 fetching한 쿼리 값은 active 나머지는 inactive 상태임.

 

2. invalidation vs refetch (react-query)

 - query의 상태를 mutation으로 변경한 뒤 해당 쿼리를 다시 서버에 요청해야할 때 invalidation과 refetch를 사용할 수 있다. 

 - invalidation은 해당 쿼리를 stale한 상태로 변경하는 것으로 새롭게 refetch를 하게 하고, refech는 같은 queryKey로 서버에 다시 데이터 요청을 한다.

 - 둘 다 새롭게 데이터를 요청하는 것은 같으나 동작이 미묘하게 다르고 usecase도 다르다.

 - 페이징 된 리스트 값에서 특정 페이지만 불러오고싶을 때는 둘 다 사용해도 괜찮다.

 - 페이징 된 리스트 값이 삭제되어 모든 페이지의 구조가 변경되야 할 때는 refetch보다는 invalidation을 하는게 낫다. refetch는 모든 페이지의 데이터를 불러오지만 invalidation은 우선 query를 stale하게만 만들기 때문에 페이지의 변경시에만 특정 데이터를 가져온다.

 

3. 구조분해 할당에서 초기값

 - 구조분해 할당에서 초기값을 넣어주는 경우가 있다. 이때 초기값이 들어가는 상황은 해당 변수가 undefined값을 가질 경우만이다 null은 해당하지 않는다.

interface Fruit {
	apple?: string;
	orange: string | null;
}

const myFruit: Fruit = {
	orange:null;
}
const {apple = "사과"} = myFruit; // apple은 myFruit에 없으므로 (undefined) 초기값 "사과" 할당
const {orange = "오렌지"} = myFruit; // orange는 null 이므로 초기값 "오렌지" 할당 X

'Study > TIL (Today I Learned)' 카테고리의 다른 글

20220830 TIL  (0) 2022.08.30
20220726 TIL  (0) 2022.07.26
20220724 TIL  (0) 2022.07.24
220530 TIL  (0) 2022.05.31
220522 TIL  (0) 2022.05.22
댓글