• gpt 출력 값을 받아오는 시간 동안 seMutation의 isLoading이 true일 때 로딩 컴포넌트를 보여주려고 했는데 0.1초만에 false로 바뀌고 출력값은 몇초 뒤에 나옴

    → isLoading이 false가 된 뒤 data를 가져오는 것으로 추정

    → data를 redux에 바로 저장하여 state에 값이 들어올 때까지 로딩 컴포넌트를 보여주게 변경

  • 같은 맥락으로 isLoading이 false가 된 뒤에 data를 렌더하려고 하면 undefined가 뜨는 경우 많음

    → data가 있을 때 렌더하는 것으로 모두 변경

  • useMutation 후에 post는 실행이 되어 db가 변경 되었는데 db에서 데이터를 가져오는 useQuery문이 재실행되지 않음

    const queryClient = useQueryClient();
    
    const authUser = useMutation(tryAuthUser, {
        onSuccess: () => {
            queryClient.invalidateQueries('users')
        }
    })
    const unAuthUser = useMutation(tryUnauthUser, {
        onSuccess: () => {
            queryClient.invalidateQueries('users')
        }
    })
    const delUser = useMutation(tryDeleteUser, {
        onSuccess: () => {
            queryClient.invalidateQueries('users')
        }
    })
    
  • 파트 분배를 유동적으로 진행함

    → 처음에는 front & back 을 나눠서 진행했는데 back api 작업이 먼저 끝나면서 front를 나누고 front 작업하면서 필요한 back 작업을 동시에 진행

    → 같은 페이지를 모바일 & 피시 버전으로 나누어 2명이 작업하니 컴포넌트, 기능 등이 많이 꼬임

    → 간단하게 가져다 쓰면 되는 기능들도 입히는 데 시간이 오래 걸려서 비효율적

  • 진행하면서 새로 추가되는 기능들을 그때그때 기존에 있던 데이터를 가공하여 사용

    → 설계가 제대로 되지 않은채로 동일한 데이터를 가공하다보니 중복 데이터가 늘어나고 원하는 값만 다시 가져다 쓸 때조차 재가공 해야했음

    → Main 페이지에서 받은 데이터 + gpt 출력 데이터 redux에만 저장 → Plan 페이지에서 사용 → AddPlace에서 제가공한 데이터 → db에 plan과 attractions 테이블에 각각 저장

    → db에 저장된 정보를 다시 Plan 페이지에서 사용하려고 하니 데이터 형식이 다 틀어져있음