React Query가 v5에서 useQuery의 onSuccess, onError, onSettled 콜백을 제거하기로 했는데 그 이유를 메인테이너가 직접 설명한 글입니다. useQuery에서 onSuccess, onError, onSettled 콜백을 제거할 거라고 트위터에 올렸을 때 정말 많은 반대 의견을 들었기 때문에 그 이유를 설명하려고 글을 쓴 것으로 보입니다. SemVer에서 메이저 버전이 바뀌는 것은 호환되지 않는 변경 사항이 있음을 의미합니다. 글 초반에는 버전에 관해서 얘기하는데 API 설계를 처음부터 아주 잘하면 좋겠지만 그러기가 쉽지 않고 API에서 호환성을 깨뜨리는 변경을 한다는 것은 기존 설계가 실패했다는 의미이고 그런 면에서 이번 변경은 React Query가 API의 5번째 실패를 했다는 의미라고 합니다. onSuccess, onError, onSettled 콜백은 직관적이고 이해하기 쉽기 때문에 사람들이 많이 좋아하는 기능이었습니다. 하지만 컴포넌트 구조에 따라서 이 콜백이 여러번 호출될 수 있고 사람들은 이 콜백에서 상태 동기화를 많이 하곤 합니다. 이는 설계상 의도한 것은 아니었지만 상태 동기화를 하기에 적절한 위치로 보이기 때문에 많은 사람들이 상태 동기화를 하고 이 경우 문제를 찾기 아주 어렵게 만듭니다. 결국 이 콜백은 개발자들에게 안티 패턴을 유도하게 되었고 결국 버그를 만들 가능성이 오히려 커졌기 때문에 v5에서는 이를 제거할 예정이라고 합니다. https://tkdodo.eu/blog/breaking-react-querys-api-on-purpose

Breaking React Query's API on purpose

Tkdodo

Breaking React Query's API on purpose

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 6월 19일 오후 5:36

 • 

저장 13조회 3,113

댓글 0

    함께 읽은 게시물

    토요일에 회사에서

    

    ... 더 보기

    개발자 교양 팟캐스트

    A

    ... 더 보기

    서버엔지니어의 시대적 고민

    ... 더 보기

    [DZone] 2024년 클라우드 보안 환경 이해

    ... 더 보기

    Understanding the 2024 Cloud Security Landscape - DZone

    dzone.com

    Understanding the 2024 Cloud Security Landscape - DZone

    Next.js 프로젝트를 AWS EKS에 배포하며 배운 것들

    ... 더 보기

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

    product.kyobobook.co.kr

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

     • 

    저장 5 • 조회 1,011


    < 뛰어난 리더는 '시간'을 가장 까다롭게 쓴다 >

    1. 관리자 업무 중 상당한 부분을 차지하는 일은 인력, 돈, 자본 등의 자원을 할당하는 것이다.

    ... 더 보기