fetch로 가져오는게 완료되어야 함수가 끝나므로 fetch는 side effect
네트워크 요청, 파일 입출력, 전역 변수 사용 등은 side effect다
함수 컴포넌트에서도 상태 관리 가능
함수 컴포넌트에서 side effect 관리 가능
장점: 재사용성, 코드 간결(this, bind를 안 써도 됨), life cycle 단순화
여러가지 컴포넌트가 서로 통신하면 상태를 공통의 부모에
프레임워크랑 라이브러리랑 뭐가 다른가
history API 공부해보기 (HTML5)
클라이언트 사이드 라우팅 : 주소만 바뀌는 것
<Link to="/shoppingcart">
장바구니<span id="nav-item-counter">{length}</span>
</Link>
: /shoppingcart 경로를 생성한 것.
이후 아래 코드를 이용해 라우팅을 해줄 수 있음
<Route path="/shoppingcart">
<ShoppingCart cartItems={cartItems} items={items} />
</Route>
```