Backbone.js 模型/商店和反应状态之间的紧密联系

Backbone.js 模型/商店和反应状态之间的紧密联系,backbone.js,reactjs,Backbone.js,Reactjs,这让我有点困惑,我很有勇气和勇气 我有这个密码 getInitialState: function () { return localModel.toJSON(); }, componentDidMount: function () { this.listenTo(localModel, 'change', this.onLocalModelChange); this.listenTo(MappingCollection, 'add remove', this.onM

这让我有点困惑,我很有勇气和勇气

我有这个密码

getInitialState: function () {
    return localModel.toJSON();
},

componentDidMount: function () {

    this.listenTo(localModel, 'change', this.onLocalModelChange);
    this.listenTo(MappingCollection, 'add remove', this.onMappingCollectionChange);
},

onLocalModelChange: function () {
    this.setState(localModel.toJSON());
},

onMappingCollectionChange: function () {
    this.forceUpdate();
},
localModel是一个主干模型,该模型的状态基本上与React视图的状态等效。使用上面的代码,是实现这种关系的最佳方法吗?看起来很奇怪,我的视图状态需要与主干模型状态完全分开。如果我希望他们是一个又一个呢

如您所见,我基本上总是将state的值设置为主干模型

localModel是一个主干模型,该模型的状态基本上与React视图的状态等效

没错。不过,我建议你换一种方式做。只需将您的模型作为组件成员,并使用它而不是状态

/* delete this:
    getInitialState: function () {
    return localModel.toJSON();
},*/
componentWillMount : function(){
    this.model = localModel;
}    

componentDidMount: function () {
    this.listenTo( this.model, 'change', this.refresh );
    this.listenTo( MappingCollection, 'add remove', this.refresh );
},

refresh : function () {
    this.forceUpdate();
}
或者您可以使用我们的集成层。它使事情变得更简单