身份验证后流星js反应js动作
meteorjs reactjs action after authentification
我有以下将数据传递给另一个组件的 React 组件:
export default class App extends TrackerReact(Component){
getUserFrameData(){
return (FrameCollection.find().fetch());
}
render(){
return(
<div className="main-container">
<Frames
data={this.getUserFrameData()}
/>
</div>
);
}
}
现在我希望我的框架组件在组件初始化时执行一个操作。
export default class Frames extends Component{
componentDidMount(){
console.log(this.props.data);
}
render() {...}
}
但是我在加载时只得到空数据。我认为这是因为我正在使用订阅和登录系统。那么我如何才能让我的 Frames 组件等到一切都变成 "loaded up"?
使用订阅对象的ready
方法。
constructor() {
super();
this.state = {
sub: Meteor.subscribe('myPublication')
}
}
render() {
if (!this.state.sub.ready()) return <p>Loading...</p>;
return ...
}
我有以下将数据传递给另一个组件的 React 组件:
export default class App extends TrackerReact(Component){
getUserFrameData(){
return (FrameCollection.find().fetch());
}
render(){
return(
<div className="main-container">
<Frames
data={this.getUserFrameData()}
/>
</div>
);
}
}
现在我希望我的框架组件在组件初始化时执行一个操作。
export default class Frames extends Component{
componentDidMount(){
console.log(this.props.data);
}
render() {...}
}
但是我在加载时只得到空数据。我认为这是因为我正在使用订阅和登录系统。那么我如何才能让我的 Frames 组件等到一切都变成 "loaded up"?
使用订阅对象的ready
方法。
constructor() {
super();
this.state = {
sub: Meteor.subscribe('myPublication')
}
}
render() {
if (!this.state.sub.ready()) return <p>Loading...</p>;
return ...
}