【发布时间】:2019-02-15 00:09:38
【问题描述】:
我试图让 React 从另一个组件的方法中返回一个组件。到目前为止,我有:
export class Projects extends Component {
constructor() {
super();
this.loadProjects = this.loadProjects.bind(this);
}
loadProjects() {
var userProjectsRef = dbroot.child("users").child(this.props.user.uid).child("projects").ref;
userProjectsRef.on("child_added", function(snapshot) {
var id = snapshot.val();
return (
<ProjectsRow projectId={id} />
);
})
}
render() {
return (
<div className="container">
<div className="card">
<div className="card-header bg-dark text-light align-center">
</div>
<ul className="list-group list-group-flush align-left">
{this.loadProjects()}
</ul>
</div>
<AddProjectModal user={this.props.user} />
</div>
);
};
};
我不确定为什么 loadProjects 方法中的 return 语句不起作用。但是,它可以在同一位置返回一个 console.log 语句。我还引用了这个堆栈溢出问题:React. Creating a function that returns html 有什么想法吗?
【问题讨论】:
-
看起来你有一个返回
<ProjectsRow>的异步回调。这不会在相同的上下文中返回。 -
嗨,Zach,您的退货不能正常工作吗?由于您是 react 新手,我建议您在没有状态的情况下基于事件管理组件是 react 的反模式。
标签: javascript reactjs firebase