리액트로 컴포넌트 단위 개발을 하다보면, 유저의 인터랙션에 따라 변할 수 있는 부분 즉, State(상태)를 변경하고 관리하는 일이 매우 중요하다는 것을 알 수 있게 된다. 하지만 컴포넌트의 State와 props를 다루기 위한 과정에서 로직이 복잡하게 얽히는 경우가