- index.html
- main.js
- ProductPage.js
- ProductOptions.js
- Cart.js
- api.js
index.html - main.js - ProductPage.js - ProductOptions.js / Cart.js / api.js
의존성은 이와같다.
productOptions.setState(optionData)
와 cart.setState({ ... })
도 영향 끼치게 실행innerHTML
하고 event Handler
를 건다.ProductPage
에서 각각 생성자 함수에 new 했을때 매개변수로 존재한다. this.setState(nextState)
를 진행한다. this.setState
는 또 다시 productOptions
와 cart
에 setState를 발생시켜 해당 바뀐 부분에 대한 처리를 각각의 render로 진행하며 처리한다.
- fetchOptionDate에서 request를 통해 받아 올 때 변화처리
- ProductOptions의 change 핸들러가 onSelect를 실행시켜 발생할때
- Cart의 click 핸들러가 onRemove를 실행시켜 발생할때
ProductPages.js의 this.setState에 의해 연관된 ProductOptions의 setState와 Cart의 setState가 처리되고 해당 각각의 이벤트 핸들러가 매개변수로 존재하여 ProductPages.js에서 this.setState로 다시 실행될 수 있게 영향을 끼친다.