codestates / codestates/TMT-client

[Dev-Log✍️] 나원빈 07/11 ~ 07/13 회고

Open
#108 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
0
Forks
3
PR merge metrics
No merged PRs in 30d

Description

### 오늘은 어떻게 프로젝트에 기여했나요?
- 좋아요 기능, 좋아요 모달, 카카오맵 수정, 마이페이지 달력,

### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
- 카카오 지도가 기존에는 이벤트 발생시 지도가 계속 겹쳐서 렌더링 됐다.
- 그래서 어느 부분까지 겹치게 되면 브라우저가 멈추거나 CSS가 깨지는 현상이 발생해 하나의 지도에 마커와 경로 이벤트가 설정되가 변경했다.
- 처음엔 DATA를 받아온 대로 DATA가 변경되면 그 변경된게 카카오 지도에 반영 되는줄 알고 카카오에서 제공하는 delete 메소드를 사용하지 않고 시도했는데 찍히는건 정상적으로 찍히지만 지워지지가 않았다.
- 아래 코드를 추가해 지우는 것 까지 마무리 했다. forEach와 for문의 큰 차이는 모르겠으나 for문으로 삭제 한 결과 뭔가 더 깔끔하게 지워져서 아래로 작성했다.
- 좋아요 기능을 추가하고 Login 분기까지 마무리.
- useSelector로 받아온 데이터를 Hooks내부에서 사용, 적용 시키기 위해서는 훅을 받아온 데이터로 계속해서 (input)에 초기화 시켜줘야 한다.
- 이번 작업을 하면서 리덕스와 Hooks에 대해 더 깊게 알게된 계기가 됐다.
1. Single source of truth
: 하나의 저장소(store)가 존재
2. State is read-only
: state는 읽기전용
3. Changes are made with pure functions
: 액션에 의해 상태 트리가 변경(change)시키기 위해서 순수함수인 리듀서(reducer)를 작성

```js
useEffect(() => {
effect
return () => {
cleanup
}
}, [input])
```

```js
function removeMarker() {
// markerArr?.forEach((e: any) => e?.setMap(null));
for (let i = 0; i < markerArr?.length; i++) {
markerArr[i]?.setMap(null);
}
pathArr?.setMap(null);
// ListData = [];
}
```

### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
* [ ] 랜딩페이지, CSS 수정

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.