useState()는 비동기였다.

김용진·2022년 8월 8일
0

생각노트

목록 보기
1/1

useState가 비동기적으로 동작한다는 것을 코드를 짜면서, console.log()를 돌려보면서 비로소 알게 되었다.

radio button에 대한 state를 useState로 관리하면서 console.log를 찍어보다가, 내가 생각한 것과 다르게 동작한다는 것을 알게 되었다. 설마 비동기? 했는데 설마가 날 잡아버렸다. 역시 비동기였다. 왜 이제야 알게 되었을까.

React와 같은 라이브러리, 혹은 타 프레임워크들을 공부하면서 가장 아쉬운 점은 해당 라이브러리/프레임워크 가 어떻게 만들어졌는지 더 심도있는 이해를 하지 못하면서 '이용', 혹은 '활용'을 목적으로 코드를 짜 내려갈 때이다. 오늘 발견한 useState의 동작 원리처럼, 비교적 간단한 코드, 간단한 함수로 구성된 React Hook의 동작 원리도 제대로 모르면서, 또 해당 hook을 직접 Vanilla Javascript로 구성해 본 적도 없으면서, 주변과 환경의 압박에 허덕이며 취업 포트폴리오를 만들고 있는 나 자신을 보면 자주 이러한 회의감이 든다.

물론 나와는 생각이 다른 분들도 많을 것이고, 내가 겪은 상황처럼 문제점을 발견하면서 차차 배워나가는 것을 선호하는 분들도 많을 것이다. 나 또한 내가 하고싶은 공부와는 정반대로 급한 취업을 목표로 하며 코드의 '동작'을 큰 목표로 정하고 프로젝트를 이어가고 있다. 회사에 들어가 배우는게 훨씬 빠르고 많이 배울 수 있다는 핑계로 내가 좋아하는 코딩에 대한 학습 방향을 스스로 부정하고 있는 것일 수도 있겠다.

언젠가는 내가 React처럼 생각보다 견고하고 앞으로의 발전 가능성이 무한한 라이브러리 혹은 프레임워크를 만들고, 더 나아가 그사용법, 작동방식 등에 대한 정리를 시니어 개발자가 아닌 주니어 개발자를 기준으로 쉽게 풀어 설명할 수 있고, 그 설명이 주니어나 시니어 개발자로 하여금 쉽게 이해하고, 변형해서 그분들의 프로젝트에 맞게 활용 할 수 있게 제공할 수 있는 그런 개발자가 되고 싶다.

React를 공부하면서, state를 관리하는 수많은 hooks나 redux와 같은 다른 툴들에 대해 알아가는 것에 흥미를 느끼던 중에 가장 기본이 되는 useState에 낯설음을 느끼고 문득 생각이 많아져 글로 정리해 본다.

profile
기획/개발/디자인 다 하고싶은 프론트엔드 개발자

0개의 댓글