728x90
상황
query에 요구되는 variables가 있는데, 항상 같은 값으로 보내면 refetch되지 않는다.
같은 값으로 보냈던 이유: readQuery로 캐시 사용 위해
-> 캐시 사용을 포기하고 variables를 항상 다른 값으로 보낸다.
1️⃣ : 값이 항상 동일해서 refetch해도 query call 처리가 안된다?
2️⃣ : 값이 항상 달라지기 때문에 refetch하면 query call 처리가 잘 된다.
원인
1. apollo 라이브러리의 결함
또는
2. 프로젝트 내 apollo 설정 문제? (cache도 가끔 제대로 업데이트되지 않는데, 다른 프로젝트에서는 cache가 잘만 동작한다.)
어쨌든, 2️⃣로 하니까 해결됐음!
const [query, { loading, data }] = useLazyQuery<
Query,
QueryGetRoutineStorageInfo2Args
>(GET_ROUTINE_STORAGE_INFO, {
fetchPolicy: 'cache-and-network',
onCompleted: d => {
console.log('completed getRoutineStorageInfo', d);
},
onError: e => {
console.log('error getRoutineStorageInfo', d);
},
});
const getRoutineStorageInfo = () => {
console.log('called getRoutineStorageInfo');
// const dateISO = dayjs().format("YYYY-MM-DD"); // 1️⃣😡 같은 날짜일 때, 값이 항상 "YYYY-MM-DD" 형식으로 동일해서 refetch해도 query call 처리가 안된다?
const dateISO = dayjs().toISOString(); // 2️⃣😃 값이 항상 달라지기 때문에 refetch하면 query call 처리가 잘 된다.
query({ variables: { dateISO } });
};
@apollo/client 3.7.0
'Develop > React Native' 카테고리의 다른 글
[ReactNative] KeyboardAvoidingView 안에 여러 TextInput을 사용할 때 offset 맞지 않는 문제 해결 (0) | 2023.02.03 |
---|---|
[React Native] 가로의 길이가 바뀌는 디바이스(폴드) 대응: Dimensions -> useDimensions (0) | 2023.01.25 |
SharedStorage.java에서 ReactMethod 사용 시 주의점 (0) | 2023.01.17 |
react native vision camera 이슈 추적용 (0) | 2022.08.26 |
[Error] NDK at ~/Library/Android/sdk/ndk~~~~ did not have a source.properties file (0) | 2022.03.21 |