根据从observe()
收到的数据设置状态的最佳方法是什么?
似乎通过componentWillMount()
设置状态不会在此之后运行observe()
并且数据无法设置状态。
我在使用Parse
时使用了建议的观察功能E.g:
var DragApp = React.createClass({
getInitialState: function () {
return {
activeCollection : ''
};
},
observe: function() {
return {
collections: (collectionsQuery.equalTo("createdBy", currentUser))
};
},
_setactiveCollection: function(collection) {
this.setState({
activeCollection : collection
});
},
componentWillMount: function () {
var collection = this.data.collections[0];
this._setActiveCollection(collection);
},
)}
答案 0 :(得分:1)
我对此采取了错误的方式。
我不应该将此数据存储到州。我可以通过渲染将它传递给组件。
为了在渲染之前使this.data没有准备就绪,我在render中使用了ParseReact函数pendingQueries()。 E.g。
if (this.pendingQueries().length > 0) {
content = 'loading...'
} else {
content = 'hello world I am' + this.data.name
}
答案 1 :(得分:0)
尝试:
var DragApp = React.createClass({
observe: function() {
var collections = collectionsQuery.equalTo("createdBy", currentUser);
return {
collections: collections,
activeCollection: collections[0]
};
},
render: function () {
// do something with this.data.collections and/or this.data.activeCollection
},
)}