当我控制日志状态时它返回undefined但在我的react开发工具中我可以看到生成的数组。 这是组件:
Testqueue
我做错了什么?
答案 0 :(得分:0)
这是因为你正在ajax回调上设置状态,该回调在初始渲染(componentDidMount)之后完成。
答案 1 :(得分:0)
您可能想要另一个状态变量来跟踪加载状态:
var Categories = React.createClass({
getInitialState: function () {
return {
loaded: false,
items: []
};
},
componentWillMount: function (){
var firebaseRef = new Firebase("https://rapifood.firebaseio.com/categorias");
firebaseRef.on("child_added", function(dataSnapshot) {
this.setState({
loaded: true,
items: this.state.items.concat(dataSnapshot.val())
});
}.bind(this));
},
componentWillUnmount: function() {
// Don't forget to remove the Firebase subscription here.
}
render: function() {
if (!this.state.loaded) {
return <div>Loading...</div>;
}
// Now you can render the list of items here.
},
});