20220128 Frontend 일일 개발일지 === ###### tags: `20220128` # 개발 내용 ## SHOP 템플릿 작성. ### 1. 레이아웃 배치. ![](https://i.imgur.com/nzjM5V3.png) 위 그림 처럼 실제 KREAM 과 흡사하게 만드려고 노력했다. :::info <center>제목</center> QuickFilter 컴포넌트 Banner 컴포넌트 우측(SearchFilter) 좌측 `Tags` 좌측(contents) ::: > 약간 무슨 말인진 알아듣기 어렵겠지만.. 위처럼 6개의 컴포넌트로 구성했다. ### 2. QuickFilter 와 Tags 연결 ![](https://i.imgur.com/OEYIooy.png) ![](https://i.imgur.com/IqxakXt.png) 위 두개의 컴포넌트를 연결시키는 작업진행. #### 고민 거리 >[color=crimson] Tag들을 클릭함에 따라 QuickFilter에 반영이 안되는 상황. ==반대로 QuickFilter 를 누르면 Tag는 반응이 바로 되는 상황이였다.== ```typescript= useEffect(() => { setLuxuryFilter(luxaryActivateState); setActivateItem(filteredCategory); }, [luxaryActivateState, filteredCategory]); ``` QuickFilterBar 에서 다음과 같은 코드를 추가했다. - 받는 props가 변경되면 해당 내용을 바로 지역 상태 관리에 반영하는 로직. - 해당 내용을 추가하니 자동으로 반영못하는 문제를 해결. ### 3. ==대망의 SWR 도입== :::success 천천히 SWR를 도입해보자! 1. `yarn add swr` 수행. 2. 간단한 `fetcher` 함수 구성. ```typescript= import axios from "axios"; export const fetcher = async (url: string) => { const res = await axios.get(url); const data = await res.data; return data; }; ``` 3. `useSWR` 함수를 통해 첫 `GET` 요청 제작. ```typescript= const { data, error } = useSWR(`${process.env.END_POINT_PRODUCT}/filters`, fetcher); ``` :::danger CORS 문제로 아직 통신이 불가능하다! ::: --- ## 전역 상태 라이브러리 도입의 고민