反流:如何使用`listanables`或`this.listenToMany`听取一部分动作?

时间:2016-10-26 11:13:04

标签: javascript reactjs flux reactjs-flux refluxjs

想象一下,你有一个巨大的动作对象,而某些组件/商店只想听它的子集。

var actions = Reflux.createActions({ /* lots of actions with children*/});

如何只收听subset这些操作,而不是逐个手动this.listenTo()?最简单的方法?

1 个答案:

答案 0 :(得分:1)

所以你容易做到。

在店内:

// ...
var actions = Reflux.createActions({ /* lots of actions with children*/});
module.exports = Reflux.createStore({
     listenables: {subsetKey: actions.subsetKey},
     // ...

在组件中:

// ...
var actions = Reflux.createActions({ /* lots of actions with children*/});
module.exports = React.createClass({
      mixins: [Reflux.ListenerMixin],
      componentDidMount() {
           this.listenToMany({subsetKey: actions.subsetKey});
      }
      // ...