【问题标题】:How do I make my store private in React reflux如何在 React 回流中将我的商店设为私有
【发布时间】:2016-05-20 16:58:12
【问题描述】:

如何强制执行我的商店功能和模型私有​​。如果我的商店是

var employeeActions = Reflux.createActions(['addEmployee']);

var empStore = Reflux.createstore({
listenables: [employeeActions],
model: {
          Total:0,
          employees:[]
}
onAddEmployee: function(employee){
   this.model.employees.push(employee);
}
});

即使通量说 Actions->Store。当前的对象结构不会阻止团队中的开发人员调用 empStore.OnAddEmployee ?

【问题讨论】:

    标签: javascript reactjs refluxjs


    【解决方案1】:

    假设您使用的是 browserify 或 webpack 或类似的东西并且您 require 您的模块,您的商店应该在一个模块中。因此,您在模块中声明但未包含在发送到Reflux.createStore() 的对象中的任何变量/对象/函数都是私有的。

    所以是这样的:

    var employeeActions = Reflux.createActions(['addEmployee']);
    
    var model: {
              Total:0,
              employees:[]
    }
    
    var empStore = Reflux.createstore({
    listenables: [employeeActions],
    
    onAddEmployee: function(employee){
       model.employees.push(employee);
    }
    });

    如果您使用listenables mixin,我建议将onAddEmployee 函数保留在对象上,并依靠回流来连接所有内容。否则,只需按照 github 上的示例:https://github.com/reflux/refluxjs#creating-data-stores 并使用相同的原则,将函数保持为私有,在您传递给工厂方法的对象之外。

    【讨论】:

      猜你喜欢
      • 2016-05-30
      • 2015-12-13
      • 2020-05-14
      • 1970-01-01
      • 2016-01-25
      • 2015-10-05
      • 2015-09-11
      • 2015-01-08
      • 2011-12-09
      相关资源
      最近更新 更多