一切都是第一次,所以在此先感谢。
我想知道的是,当我更改“数据库”(我将在下面解释引文)时,API 请求也会自动更新。目前,当我更改“数据库”时,API 请求仍然只是检索旧数据。
const express = require("express");
const app = express();
const workoutPlan = {
ID: 1,
Name: "My Workout Plan - Update"
};
app.get("/api/workout-plan", function(req, res) {
res.json(workoutPlan);
});
app.listen(3001, () => console.log(`Server listening on port 3001`));
所以这就是我的“数据库”。
然后使用 clickHandler,我请求名称。
import React from "react";
import Workout from "./Workout";
import axios from "axios";
class WorkoutPlan extends React.Component {
constructor() {
super();
this.state = {
workoutPlan: {}
};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
axios
.get("/api/workout-plan")
.then(response => this.setState({ workoutPlan: response.data }));
}
render() {
const { workoutPlan } = this.state;
// const workoutPlan = this.state.workoutPlan;
return (
<div>
<h1>{workoutPlan.Name}</h1>
<button className="button" onClick={this.handleClick}>
Click Me
</button>
<Workout />
</div>
);
}
}
export default WorkoutPlan;
目前,单击按钮会正确填充“我的锻炼计划 - 更新”,但如果我在我的 const workoutPlan 中将其更改为“我的锻炼计划 - 无更新”,单击该按钮仍会检索“我的锻炼计划 -更新”。
让我知道我能做些什么来帮助它变得更清晰/更容易!
最佳答案
每次对服务器进行更改时,您都需要重新启动 express 应用程序。在您这样做之前,服务器仍在为旧常量提供服务。
在开发过程中,您可能需要考虑 options to make this automatic .我用过 nodemon过去取得了一些成功。我相信还有很多其他选择。
关于javascript - 如何让我的 API 请求获取更新的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57966247/