Javascript 如何在MongoDB中从数组渲染对象并进行响应
我不知道如何将数组中的对象渲染为react 我的MongoDB模式是Javascript 如何在MongoDB中从数组渲染对象并进行响应,javascript,reactjs,mongodb,react-redux,Javascript,Reactjs,Mongodb,React Redux,我不知道如何将数组中的对象渲染为react 我的MongoDB模式是 const postSchema = new mongoose.Schema({ userID: { type: String }, dateTime: { type: Date, default: Date.now }, comments: [{ userID: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
const postSchema = new mongoose.Schema({
userID: { type: String },
dateTime: { type: Date, default: Date.now },
comments: [{
userID: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
likes: { type: Number, default: 0 },
}],
})
在react中,我只想渲染dateTime和likes
function Post(post) {
const {dateTime, likes } = post;
return (
<tr>
<td>
{dateTime}
</td>
<td>
{likes}
</td>
</tr>
);
}
功能Post(Post){
const{dateTime,likes}=post;
返回(
{dateTime}
{likes}
);
}
dateTime工作正常,可以呈现数据,但不会呈现任何内容。我尝试了{comments.likes},但错误显示:error:Objects作为React子对象无效(找到:带有键{dateTime,likes}的object)。如果要呈现子对象集合,请改用数组
function Post(post) {
const {dateTime, comments.likes } = post;
return (
<tr>
<td>
{dateTime}
</td>
<td>
{comments.likes}
</td>
</tr>
);
}
功能Post(Post){
const{dateTime,comments.likes}=post;
返回(
{dateTime}
{comments.likes}
);
}
有人知道如何渲染“喜欢”以便我可以在react中显示它们吗?非常感谢。注释是一个对象数组。因此,我们需要迭代以呈现类似的内容。假设您需要通过总结评论中的所有喜好来显示帖子的喜好
const {dateTime, comments} = post;
const getLikes = () => {
const likes = comments.reduce((totalLikes, comment) => totalLikes + comment.likes , 0);
return likes;
}
return (
<tr>
<td>
{dateTime}
</td>
<td>
{getLikes()}
</td>
</tr>
);
const{dateTime,comments}=post;
常量getLikes=()=>{
const likes=comments.reduce((totalikes,comment)=>totalikes+comment.likes,0);
回报喜欢;
}
返回(
{dateTime}
{getLikes()}
);