【问题标题】:How do I implement a Sequalize API into my React application?如何在我的 React 应用程序中实现 Sequalize API?
【发布时间】:2020-06-24 01:31:27
【问题描述】:

我希望能够将我的 MYSQL 数据库中的记录获取到我的 API 中,但我不知道如何路由它(我需要创建一个组件吗?)。我找不到任何关于在 React 中使用 sequelize 的资源,因此我们将不胜感激!

var db = require("../models");

module.exports = function(app) {
  app.get("/api/teams", function(req, res) {
    var query = {};
    if (req.query.team_id) {
      query.team_id = req.query.team_id;
    } else if (req.query.team_name) {
      query.team_name = req.query.team_name;
    } else if (req.query.logo_link) {
      query.logo_link = req.query.logo_link;
    }

db.Team.findAll({
  where: query
}).then(function(dbEvent) {
  console.log(dbEvent);
  res.json(dbEvent);
});
  });
};

【问题讨论】:

    标签: javascript mysql reactjs express sequelize.js


    【解决方案1】:

    Sequelize 是一个服务器端库。它不应该与 React 一起使用,因为 React 是浏览器的客户端库。你的代码 sn-p 没有给我足够的信息来给你一个可行的解决方案,但是,我会尽力帮助你的问题给出一个一般性的答案:

    您的 React 应用程序是 客户端 代码,将在 Web 浏览器上与 html 和 css 一起执行。这是您的 UI 所在的位置。

    您的 Sequelize 实现可能是 服务器端 Node.js 应用程序的一部分。您的客户端应用程序将向您的服务器端应用程序的不同路由发出 getpost 请求。

    您设置的 MySQL 数据库 将由您的服务器端应用程序调用。您服务器上的每条路由都会在您的数据库上运行不同的 sequelize 查询。查询完成后,它将结果传回服务器,服务器将结果发送回客户端。


    根据您的问题,听起来您正在混淆客户端代码和服务器端代码。 客户端 React 代码从不与数据库对话。你需要创建一个带有 APIs/Routes 的服务器端应用程序(如果你想使用它,还需要 Sequelize)来做到这一点。

    客户端----HTTP请求---->服务器----Sql/Sequelize查询---->数据库

    客户端

    希望对你有帮助

    阅读更多:https://en.wikipedia.org/wiki/Client%E2%80%93server_model

    【讨论】:

      【解决方案2】:

      您创建 API,然后在您的 react 应用程序中使用它。由于您已包含标签express。这是要走的路。

      const express = require('express');
      const app = express();
      const db = require("../models");
      
      app.get('/api/teams', async (req, res) => {
        const query = {};
          if (req.query.team_id) {
            query.team_id = req.query.team_id;
          } else if (req.query.team_name) {
            query.team_name = req.query.team_name;
          } else if (req.query.logo_link) {
            query.logo_link = req.query.logo_link;
          }
      
         db.Team.findAll({
           where: query
          }).then(function(dbEvent) {
           console.log(dbEvent);
          res.json(dbEvent);
          });
      });
      
      module.exports = app;
      

      【讨论】:

      • 如何在我的 react 应用程序中使用它?你介意解释一下吗?
      • 发出 http 请求。
      猜你喜欢
      • 2017-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多