서로 다른 컴포넌트가 동일한 상태를 다룬다면, 이 출처는 오직 한 곳이어야 한다. 사본이 있을 경우 두 데이터는 서로 동기화하는 과정이 필요한데, 이는 문제를 어렵게 만든다. 한 곳에서만 상태를 저장하고 접근해야 코드 작성이 용이하며, 이는 곳 전역공간을 이야기한다.

데이터 무결성을 위해 동일한 데이터는 항상 같은 곳에서 데이터를 가지고 오도록 해야한다. (single source of truth 원칙)

< Cmarket Hooks - Sprint >

state와 props에 대해 어느정도 이해도를 더욱 확고히 할 수 있는 스프린트였다고 생각한다.

컴포넌트의 관계도를 먼저 파악하고 어떻게 상태변수를 전달하고 사용할 것인지 생각해 내는 것이 중요하다는 것을 알 수 있었으며, 상태변수는 가능한 set함수를 사용하여 변경해야 한다는 점이 번거로우면서도 이해하기 조금 어려웠지만, 스프린트를 진행하면서 어느정도 많이 이해하게 되었다.

스프린트 과정에서 한 가지 아이러니 했던 것은 바로

아래부분…

스크린샷 2022-10-14 오후 2.45.53.png

주석 표시 한 부분처럼 {itemId, quantity}는 키,값 형태가 아님에도 정상적으로 작동하는 이유를 밝혀내지 못했다. 줌 시간을 통해 질문해볼 예정이며, 우선적으로는 당연히 키,값 형태의 객체가 해당 배열의 요소로 와야하는 것이 당연하기에 그에 맞에 코드를 작성하고, 의아했던 부분은 주석처리를 하였다.

⇒ 정확한 문법은 아직 모르겠지만, 주석의 두번째와 같이 진행할 경우 알아서 함수 매개변수와 전달인자의 성질?에 의해서 해당 인자에 해당 값이 들어가는 키,값 형태로 전환된다고 이해하였음!

스크린샷 2022-10-14 오후 2.48.18.png

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