【问题标题】:how to add React component with Postgres database如何使用 Postgres 数据库添加 React 组件
【发布时间】:2020-09-13 04:10:38
【问题描述】:

我有一个疑问,假设我使用 npx create-my-app myProject 创建了一个 React 项目 在这个公用文件夹中,我有几个文件夹包含用于 Postgres 数据库的 NodeJS。 所以,我的问题是,如果我必须从 postgres 加载数据来反应组件,我该怎么做?我可以使用 axios 吗?如果没有,那怎么办? 如果是,我将如何测试它?假设,我的后端 nodejs postgres 在线,并且我在 local:3000 上使用我的反应,我将如何测试它,如果 postgres 具有 get 功能就像 /api/xyz ?

【问题讨论】:

    标签: javascript node.js reactjs postgresql express


    【解决方案1】:

    您真的不应该在应用程序的前端 (=React) 部分执行此操作。

    这将为一些严重的安全问题打开大门,因为您必须从客户端建立到数据库的连接,并且为了这样做,必须将数据库凭据保存在那里。对于任何攻击者来说,获取这些数据都相对容易。

    基本上,创建一个后端服务器(可能使用 nodejs),在那里创建与 postgres 的连接,在那里获取请求的数据并将其发送到客户端。您可以为此使用 axios 或任何其他 http 库,例如 fetch。您的前端可以在 localhost:3000 上运行,后端可以在 localhost:4000 上运行。这是您可以关注的tutorial

    【讨论】:

    • 是的,后端服务器是用nodejs完成的,它已经为postgres调用了所有的sql查询,它在ec2 aws上在线,我已经在现有的组件中做了一个新的组件,那么如何我从我的反应组件提交表单数据到 postgres?我还需要在 4000 端口上本地运行后端的 server.js 吗?我可以使用 PostMan 检查数据是否正在更新?
    • 好吧,您可以使用 postman 对您的后端进行 api 调用,然后它会查询或更新您的数据库,但是 - 据我所知 - 您不能直接从 postman 到 postgres .您将表单数据发送到后端,读取那里的值并用它们更新数据库。之后,您可以将成功的响应发送回客户端。您的后端不需要在 4000 端口上运行,几乎所有其他空闲端口都可以。
    猜你喜欢
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2021-09-22
    相关资源
    最近更新 更多