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();
}
或者您可以使用我们的集成层。它使事情变得更简单