逆流リスナーの両方でストア(アクションのリスニングだけでなく、店に耳を傾けるの両方)が、それはまた、出版社です。
まず、個々の行動を聞いて
CONST還流=(「還流」を必要とします)。 CONSTアクション = Reflux.createAction()。 CONST店舗 = Reflux.createStore({ INIT(){ この .DATA = {NUM:0 }; // ストア监听アクション この .listenTo(アクション、関数(){ この .data.num ++ ; この .trigger(この.DATA ); } .bind(本)) } }) // 监听ストア触发 store.listen(データ=> にconsole.log(データ))。 //触发アクション action.trigger(「アクションの」)。 アクション(); アクション(); アクション(); アクション(); アクション();
注:1. store.listen方法自体が監視するためのトリガ格納します。
2. store.listenToは、他のオブジェクトに耳を傾けるを監視することができます。
第二には、複数のアクションを監視しながら、
CONST還流=(「還流」を必要とします)。 // CONSTアクション= Reflux.createActions([ 'アクション1'、 'アクション2'])。 CONSTアクション= Reflux.createActions({ アクション1:{ asyncResult:真 }、 アクション2:{ asyncResult:真 } })。 CONST店舗 = Reflux.createStore({ listenables:アクション、 // INIT(){ // this.listenToMany(アクション) // }、 アクション1(){ にconsole.log( 'アクション1でFUNC' ); } onAction1Completed() { にconsole.log ('アクション1が完了' ) }、 onAction2(){ にconsole.log( 'FUNCアクション2で' ) } )} )(actions.action1。 actions.action2(); )(actions.action1.completed。
ここでは、属性listenables CREATESTOREまたはinit関数で使用listenToManyは、アクションの複数を監視するために実装することができます。この文言は、コールバック関数に対応して、同じ名前がアクション1のように、各アクションに関連付けられてもよい;例えばonAction2よう+アクション、上にも使用することができます。asyncResult属性定義アクション場合、デフォルトは完了し、2人の子供が失敗し、以下の通りです。
三つは、「還流」から結合逆流{createActionインポートデモ、CREATESTORE}と反応させます。
以下からの輸入が反応「が反応します」; CONSTアクション = createAction()。 CONST店舗 = CREATESTORE({ INIT(){ この .DATA = {NUM:0 }; この .listenTo(アクション、この.onClick); } のonClick(){ この .data.num ++ ; この .trigger(この.DATA); } }) //はUI反応させ クラスContainerUIがReact.Component {延び コンストラクタ(小道具){ スーパー(小道具)。 この .state = { NUM:0 } } componentDidMount(){
//閉じる機能が生成し 、この .unmount = store.listen(データ=> { この.setState({ NUM:data.num }) }) } componentWillUnmont(){
//閉じるように関数を呼び出し 、これを。アンマウント(); } (レンダリング){ リターン( <div> { この.state.num} <アクションボタンのonClick = {}>増加</ボタン> </ div> ) } } エクスポート デフォルト ContainerUIを。