codestates / codestates/sagaksagak-client

[✍️ Dev Log] 김우성 / 21-07-14

Open
#206 0 comments 0 reactions 1 assignee Claimed by @IJMilk-WS View on GitHub
Dev-Log
Dominant language
JavaScript
Stars
4
Forks
1
PR merge metrics
No merged PRs in 30d

Description

### 오늘은 어떻게 프로젝트에 기여했나요?

- 마이페이지를 완성 하였습니다.
- 로그아웃 로직을 구현하였습니다
- 관심사 선택 모달 서버통신을 구현 하였습니다.
- 리프레시 토큰 기반 로그인 유지 기능과 함께 비회원도 이용할 수 있도록 로직을 구현하였습니다.

### 오늘의 프로젝트에서 힘든 점은 무엇인가요?

- 로그인 유지 기능을 구현할때(새로고침을 하여 상태가 초기화 되어도 로그인이 유지될 수 있도록) 비회원 이용을 고려하여 로직을 구성하는데 많은 에러가 발생 하였습니다. 해당 에러의 원인을 파악하고 해결하기 까지 상당한 시간이 소요되었습니다.

```js
const getCookie = (name) => {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(";").shift();
};

export default getCookie;

-----------------------------------------------------------------------------------------------------------------------------

if (!getCookie("refreshToken")) return;

axios
.get(`${process.env.REACT_APP_SERVER_DOMAIN}/user/token`, {
headers: {
relogin: true,
},
withCredentials: true,
})
.then((res) => {
const { accessToken, username, userId, email, category, subId } =
res.data;

if (subId)
dispatch(
logIn(email, userId, username, accessToken, category, subId)
);
dispatch(logIn(email, userId, username, accessToken, category));
})
.catch((err) => {
if (err.response) {
if (err.response.status === 403) {
axios
.get(`${process.env.REACT_APP_SERVER_DOMAIN}/user/logout`, {
headers: { authorization: `bearer ${user.accessToken}` },
withCredentials: true,
})
.then(() => {
dispatch(logOut());
})
.catch((err) => {
if (err.response) {
console.log(err.response);
} else if (err.request) {
console.log(err.request);
} else {
console.log("Error :", err.message);
}
console.log(err.config);
});
history.push("/unauthorized");
}
console.log(err.response);
} else if (err.request) {
console.log(err.request);
} else {
console.log("Error :", err.message);
}
console.log(err.config);
});
```

### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?

- [x] 관심사 선택 모달 CSS 및 반응형 구현
- [x] 깃헙 위키 작성 및 수정

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.