[o] 시리즈 모집 작성, 수정 Page 구현
[o] 시리즈 create 기능 구현
[o] 시리즈 update 기능 구현
이미지 file과 json타입으로 변환한 객체를 formData형식으로 함께 묶어서 서버에 전송했는데 형식 오류가 났다
formdata형식의 value는 무조건 스트링으로 변환된다.
blob객체와 텍스트 형식 데이터만 append할 수 있는 것 같다. (File도 blob객체에 속합)
그렇기에 formdata 타입으로 json타입 데이터를 보낼 때에는 blob함수로 감싸고, 두번째 인자로type: 'application/json'을 같이 넣어줘야 한다.const jsonBlob = obj => new Blob([JSON.stringify(obj)], { type: 'application/json', });
클라이언트가 서버에게 어떤 형식의 데이터가 실제로 보내지는 것인지 알려주는 용도로 사용
Text타입: text/css
, text/javascript
, text/html
, text/plain
file전용: multipart/form-data
Application 타입: application/json
, application/x-www-urlencoded
application/x-www-urlencoded
는 html의 form의 기본 Content-Type.세션 스토리지에서 토큰을 받아와 axios함수에 적용해 서버 요청을 했는데 토큰 오류가 났다
세션 스토리지로 가져온 토큰에 ""가 포함되어있어 제거해줘야 정상적으로 동작한다
export const GET = async ({ url, isJsonType = false, params = {} }) => { const token = sessionStorage.getItem('authorization'); const headers = { ...(isJsonType && { 'Content-Type': 'application/json;charset=utf-8' }), ...(token && { Authorization: `Bearer ${token.replace(/\"/gi, '')}` }), };
스웨거, 지라를 보면서 다른 팀원들의 상황을 파악해야했는데 매번 디엠을 보내서 물어봤던게 비효율적이었던 것 같습니다
- 1차 스프린트 기간 안에 맡은 기능을 완벽하게 완성하지 못한 점
- 시간에 쫒겨 컴포넌트도 제대로 나누지 않고 중복코드를 많이 작성했던 점
- pr단위도 깔끔하지 못했던 점
form을 이용해 create, edit기능을 만들어본 적이 처음이라 각 종류의 input의 특성을 알지 못했고,
api연동에 대해서도 처음 제대로 해봐서 많이 헤맸다
잘잘한(또는 큰) 오류들을 처리하느라 들인 시간에 비해 진도를 많이 못나갔을 때
몸도 마음도 힘들었다
딱히 달라진 건 없는 것 같다??
리액트 사용이 좀 익숙해진 것 같고, api사용에 대해서도 좀 알게된 것 같고
체계적으로 협업하는 방법에 대해 배워가고 있다.
- formdata형식으로 여러 형식의 데이터 전송하기
- checkbox, radio버튼의 데이터 처리, 렌더링 처리
아직 삐걱삐걱하긴하지만 진행이 잘 되어가고 있는 것 같다!
- formdata로 여러 종류 데이터를 전송하는 법
- 많고 다양한 input데이터를 api스키마에 맞게 처리하는 법
- 상태 의존성
- 지라 사용법
- 지라 티켓을 프론트 친화적으로 구성해서 잘 활용하기
- pr기능단위로 하기
- 비동기 커뮤니케이션하기
- 진행도 공유 원할하게하기
- 코드 작성 속도 올리기
- 검색을 꼼꼼하게 하기
1차 스프린트 기능을 완성한 점, 잠줄이고 작업한 점