tanstack 4

[Vue-Query] persistQueryClient

https://tanstack.com/query/v4/docs/vue/examples/vue/persister Vue Query Persister는 나중에 사용할 수 있도록 쿼리 클라이언트를 저장하는 persister와 상호작용하기 위한 유틸리티 집합입니다. 다양한 persister를 사용하여 클라이언트 및 캐시를 다양한 스토리지에 저장할 수 있습니다. 여기서 우리는 indexedDB에 저장했습니다. indexedDB는 same-origin policy를 따르기 때문에 다른 도메인에서 프로젝트 도메인으로 접근할 수 없습니다. 여기에 HTTP 프로토콜을 적용한 도메인과 로컬호스트에서만 접속이 가능하도록 하여 다른 도메인으로 접속 시 access denied하여 보안을 강화하였습니다. 다음은 persistQ..

FrontEnd/Vue 2023.04.24

[Vue-Query] useMutation

첫 페이지에서 간단하게 mutation을 사용하는 방법에 대해서 설명했었습니다. https://metadataplanning.atlassian.net/wiki/spaces/data/pages/105447542 먼저 첫 페이지에서 설명한 것 처럼 axios apis(axios를 통해 백엔드에 put, post, patch, delete 요청을 보내는 함수)가 작성되었다는 전제로 설명드립니다. 데이터 내보내기 import { useMuataion } from '@tanstack/vue-query' const { mutate } = useMutation(createTodo); 기본적으로 데이터를 내보내기 위해서는 위와 같이 작성합니다. 이후 작성된 값을 통해 Todo를 만들려면 onClickCreate 함수가..

FrontEnd/Vue 2023.04.20

[Vue-Query] useQuery

useQuery Docshttps://tanstack.com/query/v4/docs/vue/reference/useQuery 데이터 조회 상태 Promise 기반 메서드와 함께 쿼리를 사용하여 서버에서 데이터를 가져올 수 있습니다. 메서드가 서버의 데이터를 수정하는 경우 mutation을 사용하는 것이 좋습니다. import { useQuery } from '@tanstack/vue-query' // fetchTodoList가 todoList를 조회하는 api 입니다. const { data, isLoading, isError, isSuccess, error } = useQuery({ queryKey: ['todos'], queryFn: fetchTodoList }) 쿼리 함수는 Promise를 반환하..

FrontEnd/Vue 2023.04.20

[Vue-Query] @tanstack/vue-query

일반적으로 프로젝트를 진행하면서 관리해야하는 상태(state)는 총 세 가지가 있습니다. Local State: 컴포넌트 안에서만 사용되는 상태 Global State: 전역 스토어에 정의되어 프로젝트 어디에서나 접근할 수 있는 상태 Server State: 서버로부터 받아오는 상태 기존 Vuex에서는 전역 상태와 서버 상태를 전부 포함해서 관리하는 방식으로 프로그래밍을 했습니다. 하지만, 전역 상태 관리 라이브러리에서 비동기 로직을 제거하고 서버 상태 관리 라이브러리에서 이를 관리하여 각각을 분리하면 프로젝트 로직을 이해하기도 좋고 스토어를 간단하게 관리할 수 있습니다. 설치 npm i @tanstack/vue-query 사용 // main.ts import { VueQueryPlugin } from ..

FrontEnd/Vue 2023.04.20