항해99 TIL/(항해99)주특기 3주차

(항해31일차) 220406 리액트 주특기 20일차

리꾸엘메 2022. 4. 7. 04:17

로그인, 게시판, 사진 업로드, 댓글까지 .. 몰아치는 CRUD쓰나미에 정신 못 차리고 허우적대는 3주차이다. 

나름 리덕스와 파이어베이스를 알차게 공부하고 3주차를 맞이했다는 생각은 조금씩 머리속에서 사라졌다.

기능을 하나하나 추가할 때 마다 더 복잡해지는 코드를 보면 어디부터 뜯어봐야 하나 고민이 된다.

도대체 CRUD 뭐길래 이렇게 어려운거지?

 

생각해보면 사실 차근차근 풀어갈 수 있다. 

로그인이든, 사진이든, 게시글 내용이든 형태는 다르지만 결국 만들고, 보여주고, 수정하고, 삭제하기인데

왜 이렇게 어렵게 느껴지는 것 일까? 불과 지난주에 했던 단어장과 다를게 없는데 컴포넌트가 나눠져서 일까? 

-  새로 만드는 데이터:

1. 어딘가에(input, textarea 등) 작성되는 값을 state에 넣는다. 

2. 버튼을 누르면 먼저 파이어베이스에 저장하기 위한 액션을 디스패치한다. 

3. 파이어베이스에 데이터를 저장하고, 파이어베이스에서 생성된 아이디를 데이터에 합친다.

4. 저장하기 좋은 형태로 만들어 리듀서에 디스패치한다. 

5. 리듀서에서 스토어로 보내 데이터를 저장한다. 

 

- 데이터 불러오기

- 데이터 수정하기

- 데이터 삭제하기

 

다른 세 기능도 결국 같은 절차를 거쳐 실행된다. 여기에 컴포넌트가 어떻게 나눠져 있는지에 따라, 어떤 종류의 데이터를 저장하느냐에 따라 복잡함이 달라질 뿐 이다. 항상 이렇게 생각하면서 작업할 수 있었으면 한다. 

 

오늘은 일단 게시글 수정하기까지는 끝낼 수 있었다. (이미지 업로드에서 시간을 많이 잡아먹었다. )

내일은 지금까지 했던 코드들을 다시 한 번 정리하면서 리덕스나 CRUD에 조금이라도 익숙해져 보려고 한다. 

내일이 길지만 짧게 느껴졌던 주특기의 마지막날이다.

후련할 것 같았지만 뭔가 짐을 가득 짊어진 채 미니프로젝트로 향하는 기분이다.