javascript - 如何使用 MERN 堆栈显示论坛的详细信息页面?
问题描述
我正在使用 MERN 堆栈制作一个类似论坛网站的项目。在主页中我有不同的类别,我想在详细信息页面中查看它。我将进入详细信息页面,例如 localhost:3000/threads/id,但它不显示内容。我不知道为什么。我是 React js 的新手。如果有人有想法帮助我。我做了很多研究,但找不到。
import { useEffect, useState } from 'react';
import { Link } from 'react-router-dom';
import Footer from './Footer';
const Categories = () => {
const [cards, setcards] = useState([])
const getData = async () => {
const res = await fetch("/all-cat");
console.log(res);
setcards(await res.json());
//console.log(data)
}
useEffect(() => {
getData();
}, []);
return (
<div className="category">
<h3>Forum Categories</h3>
<div className="container">
<div className="row">
{
cards.map((e) => {
return (
<div className="col-10 col-md-4 mt-4" key={e.id}>
<div className="card" >
<img src="https://source.unsplash.com/1600x400/?coding" className="card-img-top" alt="..." />
<div className="card-body">
<h5 className="card-title">{e.title}</h5>
<p className="card-text">{e.desc.substring(0, 94)}</p>
<Link to={"/threads/"+e._id}className="btn btn-primary">View Threads</Link>
</div>
</div>
</div>
)
})
}
</div>
<Footer/>
</div>
</div>
);
}
export default Categories;
// This a details page where i want the details in a next page. Its not displaying I dont know why? I am new in react please help me.. It should display the details of each categories from mongo db database below in the code I have given backend part also.
import Footer from './Footer';
import { useEffect,useState } from 'react';
import Axios from 'axios'
const Threads = ({match}) => {
const [disp, dispCards] = useState([]);
useEffect(() => {
fetchDetails();
}, []);
const fetchDetails = () => {
Axios.get(`/all-cat/?id=${match.params.id}`)
.then((res) => {
dispCards(res.disp);
console.log(res.disp);
})
.catch((err) => console.log(err));
};
return (
<div className="container my-4">
<div className="jumbotron">
<h1 className="display-4">Welcome to {disp?.title} Forum</h1>
<p className="lead">{disp?.desc}</p>
<hr className="my-4" />
<p>This is peer to peer forum for sharing knowledge with each other</p>
<a className="btn btn-primary btn-lg" href="/" role="button">Learn more</a>
</div>
<Footer />
</div>
);
}
export default Threads;
// This my backend part of detail page
app.get("/threads/:id", (req, res) => {
let type= req.query.type
let id=req.query.id
//console.log(id)
if(type==='array'){
}
Forum.findById({'_id':{$in :id}})
.populate('writer')
.exec((err,detail)=>{
if(err) return req.status(400).send(err)
return res.status(200).send(detail)
})
})
If anyone as idea please suggest me. I am new in react js after lot of researching i could not find the solution.
解决方案
推荐阅读
- angular - 如何仅禁用 kendo-grid-command-column 的一个按钮?角
- amazon-web-services - 您能否通过 AWS 使用 ADFS 单点登录来预先选择账户和/或角色?
- java - Mockito/Spy 不工作,执行原始功能
- javascript - if 语句,第一个条件的值在第二个条件的范围内,但它返回第一个条件
- python - 在 Python 中搜索数组
- node.js - Azure Linux Web 应用程序(节点)崩溃并显示消息:“分段错误(核心转储)”并重新启动
- c# - 适合分布式系统中工作编排/任务负载平衡的库/工具
- model - 原油蒸馏装置 Simulink 模型仿真
- dataframe - 在pyspark中循环数据帧
- linux - IntelliJ 查找 SSH 密码