서로 다른 컴포넌트가 동일한 상태를 다룬다면, 이 출처는 오직 한 곳이어야 한다. 사본이 있을 경우 두 데이터는 서로 동기화하는 과정이 필요한데, 이는 문제를 어렵게 만든다. 한 곳에서만 상태를 저장하고 접근해야 코드 작성이 용이하며, 이는 곳 전역공간을 이야기한다.
데이터 무결성을 위해 동일한 데이터는 항상 같은 곳에서 데이터를 가지고 오도록 해야한다. (single source of truth 원칙)
state와 props에 대해 어느정도 이해도를 더욱 확고히 할 수 있는 스프린트였다고 생각한다.
컴포넌트의 관계도를 먼저 파악하고 어떻게 상태변수를 전달하고 사용할 것인지 생각해 내는 것이 중요하다는 것을 알 수 있었으며, 상태변수는 가능한 set함수를 사용하여 변경해야 한다는 점이 번거로우면서도 이해하기 조금 어려웠지만, 스프린트를 진행하면서 어느정도 많이 이해하게 되었다.
스프린트 과정에서 한 가지 아이러니 했던 것은 바로
아래부분…

주석 표시 한 부분처럼 {itemId, quantity}는 키,값 형태가 아님에도 정상적으로 작동하는 이유를 밝혀내지 못했다. 줌 시간을 통해 질문해볼 예정이며, 우선적으로는 당연히 키,값 형태의 객체가 해당 배열의 요소로 와야하는 것이 당연하기에 그에 맞에 코드를 작성하고, 의아했던 부분은 주석처리를 하였다.
⇒ 정확한 문법은 아직 모르겠지만, 주석의 두번째와 같이 진행할 경우 알아서 함수 매개변수와 전달인자의 성질?에 의해서 해당 인자에 해당 값이 들어가는 키,값 형태로 전환된다고 이해하였음!

props를 사용하는 것도 위와 같은 케이스를 통해 파악하면 더욱 쉬울 것이라고 생각한다. 이 글을 다시 보면서 복습하게 될 때 이 글 만으로 이해하기 어려울테니, im-sprint-cmarket-hooks 파일의 코드를 한 번 보기 바란다!