useState에서 setter가 비동기적으로 동작한다는 얘기는 다들 한 번쯤 들어보셨을 것 같습니다. 왜 비동기적으로 동작할까요? 비동기적으로 동작한다면 리액트를 사용하는 입장에서 어느 부분을 주의해야할까요? 두 가지 질문에 대해 정리해보고자 합니다. React
지난 편에서 useState의 setter가 비동기적으로 동작할 수 밖에 없는 이유에 대해서 살펴보았습니다. 이번 글에서는 비동기적으로 동작하는 useState를 사용할 때 주의할 점과 조금 더 잘 쓰는 방법에 대해서 정리해보겠습니다. 😃 setter를 사용하는
React 공식문서에 가보면 State Hooks으로 useState와 useReducer가 있는 것을 확인해볼 수 있습니다. useReducer도 useState와 동일하게 state를 관리하는 훅입니다. 그런데 보통 useReducer는 React만을 사용할 때
개인적으로 ref 객체 (이하 ref)는 보통 DOM 객체를 바인딩하기 위해서만 사용했었습니다. ref를 사용하지 않고는 input과 같은 DOM 객체를 Auto Focus 할 수 없기 때문이죠. 그리고 ref는 리렌더링을 촉발시키지 않는다. 정도의 수준으로만 알고 있
지난편에서 ref 객체 (이하 ref)는 무엇인지, 어떻게 활용해볼 수 있는지에 대해서 알아보았습니다. ref와 state를 비교하다보면 제어 컴포넌트와 비제어 컴포넌트에 대해 어렵지 않게 접할 수 있는데요. 이 두 컴포넌트의 차이는 무엇이고, 각각 언제 사용하면 좋
useEffect 잘 쓰고 계신가요? 보통 useEffect를 컴포넌트 렌더링 주기에서 수행할 수 없는 일들, 이를테면 API 요청 로직 등을 수행하기 위해서 주로 사용했던 것 같습니다. 기본적인 사용방법은 위 코드로 설명을 대체하겠습니다. 이번 글에서는 공식문서을
경합 조건 (Race Condition) 이란? 경합 조건이란 쉽게 말해 하나의 작업 처리를 위해 다수의 작업 (이벤트 등) 이 거의 동시에 발생하는 경우, 처리를 하는 입장에서 무엇이 먼저 완료될 지 예측하기 힘들다는 것입니다. API 호출 등 비동기의 상황에서 요청