// 새로고침시 재검색 되게 함
useEffect(() => {
console.log('새로고침')
dispatch({
type: 'SET_WORD_FOR_SEARCH',
payload: searchWord,
});
}, [])
useEffect(() => {
return () => {
console.log('컴포넌트가 화면에서 사라짐')
dispatch(postListReset());
}
}, []);
// useEffect :: < 처음 로딩 될때 || 검색단어 바뀔때 || 페이지 숫자 바뀔때 > 만 실행되는 리스트 요청 함수 ------ 1
useEffect(() => {
console.log('업데이트')
postList(searchWord, setSearchInfo.searchPageNum);
}, [searchWord, setSearchInfo.searchPageNum]);
검색리스트, 리스트를 코딩하면서 생명주기에 대해서 많이 생각해볼 기회를 얻었다. 생명주기라는 말이 와닿지 않았었는데 문제와 오류를 해결해나가면서 얻는 바가 많았다. 시간이 된다면 추후 리액트 생명주기를 공부하면 더 코드를 잘짜는 개발자가 될 것같다.
+) 그동안 코드위에 코드를 얹는 식으로 프로젝트를 진행해 나가면서 코드가 중복되거나 복잡해지는 느낌을 받았다. 처음부터 계획을 세우고 짜고 싶지만, 이번에는 그럴 시간적 여유와 역량이 부족했다. 그러던 중 오류를 만났고 콘솔로 코드를 확인하면서 수정하는 과정에서 요청이나 상태값 변화를 콘솔로 확인하면서 "코드가 어떤 경로로 진행되는지 확인하고 쓸데 없이 중복되는 경우를 확인하고 줄여나가면 내가 원하던 간결한 코드가 될것이구나" 라는 어쩌면 당연한 깨달음을 얻었다. 당장은 오류가 없는 경우 코드를 돌아볼 시간이 없지만 (당장 다음주가 마감이라서 ㅜㅜ) 이 프로젝트가 끝날때!!! 꼭 다시 공부하면서 복기하고 정리해보겠다 . !!!!!!!!