리액트를 배울수록 여러가지 많은 고민이 들었다.

첫번째로, 초반에 배울 때 어려웠던 점은 각 컴포넌트 간의 props 전달과 state 관리였다. 리액트의 가장 기본 개념인지라 이해하지 못하고 사용하게 되니 제대로 활용할 수가 없었다. 또한 내가 기능 구현을 하며 어떤 것을 관리해야 하는지 구분하기가 어려웠다. 처음에는 모르고 사용하다보니 관리해야할 상태가 많아졌었고 전달해야할 props 가 많아지고 깊어지니 분리가 되지 않았다. 이를 해결하기 위해 context api, zustand, redux 등 여러가지 상태 관리 도구들에 대해 추가적으로 공부하고자한다.

두번째는, 어떻게 컴포넌트를 나눠야할까? 를 가장 많이 고민하고 어려운 부분이다. 처음에는 어떤 기준으로 어떻게 컴포넌트로 나눠야할지 어려웠다. (물론 지금도 헷갈린다..) 피그마 시안을 보고 input, button 등 공통으로 쓰이는 것들을 컴포넌트로 재사용하기 위해 나눠놓되, 단순히 재사용의 용도로만 컴포넌트를 나누는게 맞나? 싶은 생각이 들었다. 불필요한 렌더링이 반복적으로 일어나기도 하고, 데이터의 흐름을 파악하지 않으면 오히려 이중으로 컴포넌트를 만들기도 했었다. 이제는 어떻게 효율적으로 설계해서 나누는게 좋을지에 대한 고민이 필요해졌다.

[Week 1-1] 컴포넌트가 복잡해지는 원인에 대해 고찰해보기