【发布时间】:2020-10-29 07:24:30
【问题描述】:
我正在研究 Mernstack。我有一个名为 Events 的模型,Events 有标题、描述、startingDate 和 closingDate 属性。当一个事件被创建时,人们可以通过点击一个按钮来表明他们正在参加这个事件,这个按钮将通过将数字增加 1 来更新该事件中名为going 的另一个属性。这仅适用于 Node 和 Expressjs,但现在我正在将 React 集成到 Node 中,我不知道如何让它工作。
现在我的问题是,如何通过单击链接从 React 向 My Express 路由发出 GET 请求,以便 Event 模型中的 going 属性增加一?
这是我的活动路线
router.get("/:id/going", async (req, res, next) => {
Event.findById(req.params.id, function(err, event) {
if (!event) {
return next(new Error('Could not load Document'));
}else {
event.going += 1;
event.save();
res.json(event)
}
});
});
这是我在 Reactjs 中的构造函数。 注意:我的 Event 和 EventComment 工作正常,我只是在寻找一种方法,每当点击链接时,将事件内的 go 属性值增加 1。
constructor(props) {
super(props);
this.state = {
eventcomments: [],
event: '',
name: '',
description:'',
going: '',
};
}
我想用来触发事件路由的 GET 请求将数字增加 1
axios.get('http://localhost:9000/events/'+this.props.match.params.id+'/going')
.then(res => {
this.setState({
going: '',
})
})
这是我希望用户单击的链接,以使 Event 路由中的 going 属性增加 1
<Link to={"/events/"+this.state.event._id+"/going"}>Going</Link>
【问题讨论】: