javascript - 如何让我的 API 请求获取更新的数据库?

标签 javascript reactjs api express axios

一切都是第一次,所以在此先感谢。

我想知道的是,当我更改“数据库”(我将在下面解释引文)时,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/

相关文章:

javascript - 使用索引获取包含多行(div)的div中的值

javascript - 在 JS 中定义函数两次。根据网页指示使用哪个定义

javascript - 如何在firebase中通过uid获取用户信息?

javascript - react redux 将数据分配给组件

c# - 我们如何使用第三方 API 为 Webapi 创建单元测试

javascript - 在中断 Javascript 中拆分字符串(来自 C# 函数)

html - 为完成的 react 应用程序创建样式化的 url

reactjs - QueryRenderer 在 Relay Modern 中的作用?

c# - 用于计算距离的 MapPoint/MapSource API

java - 是否有用于状态名称查找/查找的 Java API 或快捷方式?