5. index.html & package.json
Production
● react : reactjs
● flux : dispatcher from FB
Development
● browserify 안에 reactify 통해 reactjs의 jsx 변환
● watchify
Script
● npm start : src/bundle.js 생성
● npm build
not use grunt/gulp
10. Store
● 데이터 상태 저장
● 데이터 set은 private 구성
o Dispatcher.register를 통해 Action type을 받아 set 함
● View로 payload 전송은 event 이용
o NodeJS EventEmitter
● 데이터 get은 public 구성
o View에서 get 하고 setState 함
11. Store - private set
private set data 영역
Dispatcher가 dispatch 한
payload를 받아 private set 호출을 위한
Dispatcher의 register에 콜백 등록
use
private set data 하면 change
이벤트 발생
12. Store - payload 전송
Store에서 private set 이 호출되
면
change 이벤트를 전송한다.
change 이벤트를 받아 실행할
callback을 View에서 등록한다.
module.exports 하여 View 에서
public get data 할 영역
14. Controller View
● Controller View는 Store의 변경을 감지(Listen)하고, Store 의 public
get 통해 변경 데이터를 가져온다.
● 가져온 데이터는 setState 통해 this.state 최신 상태를 유지
● this.props 통해 Child Component에 데이터를 아래로 내려줌
15. Controller View
View Component Lifecycle 통해
Store 이벤트 Listen/Remove
this.setState 호출 최신 상태 유
지
Store 이벤트를 받으면 Store의
public get data를 호출
19. 정리
● Flux 단방향은 data set 이 단방향이라는 말씀 !!!
● Dispatcher는 payload 받고 전달하는 중앙 허브
● Action Creator는 payload 생성자
● Store은 payload를 받아 모든 View에 payload 전달
● Controller View는 부모 Component로 최신 state 유지
● 자식 View Component는 this.props를 이용하고, 이벤트 발생시 Action Creator
호출
● 참조
https://scotch.io/tutorials/creating-a-simple-shopping-cart-with-react-js-and-flux#api-&-mock-data
https://scotch.io/tutorials/getting-to-know-flux-the-react-js-architecture
20. 실전 프로젝트로 배우는 AngularJS
많이 사보세요. ^^
그러면 ReactJS가
곧 출간됩니다…..