20220120 Frontend 일일 개발일지 === ###### tags: `20220120` # 개발 내용 ## 로그인 로직 수정 > 작일 발생했던 `axios` create 관련 문제 해당 모듈은 그대로 내버려두었다! :::info 내 생각에는 1. `axios` create 메소드는 정말 처음에만 작동하는것 같다. 2. 따라서 웹이 처음 구동했을 때 -> 만들고 `axios` 객체를, 3. 그러고 로그인했을때 `axios` 객체를 만들며 token 을 넣어야하는데, -> ==**그러질 않는다!**== 처음에만 만들고 그 다음부터는 안만들어주는 것 같다. (추측) ::: ##### 결론) 일단은 `getCurrentUser` 및 `validateUser` 내부에서 `customAxios` 을 쓰지 않기로 했다. --- ## 제품 상세 컴포넌트 내부 컴포넌트 개발 ### 가격정보 렌더링 ![](https://i.imgur.com/TFLFstr.png) 가격이 상승중인지 / 하락중인지 여부에 대한 flag를 통해 색을 지정한다. 그 외 나머지 정보들은 단순히 받아서 보여주는 형식으로 개발했다. ### 사이즈 정보 선택 컴포넌트 ![](https://i.imgur.com/bItNG91.png) 사이즈를 선택하는 컴포넌트를 생성했다. 가장 우측 아이콘을 선택하면 모달이 생성되는데, 해당 내용을 바인딩 할 수 있게 ![](https://i.imgur.com/MRFnvjv.png) 3번째 줄 처럼 props 로 받아 가능하게 구현했다. --- ## 모달 생성 #### 모달을 생성했다! 외부 라이브러리를 사용하지 않고 만들었다. ![](https://i.imgur.com/5NWWsfF.png) :::warning **NEXTjs에서는 초기에 렌더링이 서버에서 일어나기 때문에 약간의 조작이 필요하다.** 기존의 SPA라면 `index.html` 에 ```htmlembedded= <div id='modal-root'></div> ``` 를 통해서 최 상단에 접근하여 모달을 렌더링 할 수 있겠지만, nextjs는 첫 렌더링이 서버에서 일어나기때문에 접근 자체가 불가능하다. 따라서 2가지의 단계를 밟아야한다. ::: #### 1. `_document.tsx` 작성 - Nextjs는 KREAM 서비스에는 모달의 개좋은덴ㅇ;린멍림나얼미낭럼니ㅏㅇ럼니아러0938ㅣㅏㅓㄹㅁㄴ릴ㅇㅍㄴㅅㅎ우ㅕㄹ