使用支持的 Node.js API 创建一个简单的 React.js 组件

发布日期:2026-07-02 12:10:05   来源 : 杭州电子商务研究院    浏览量 :12
杭州电子商务研究院 发布日期:2026-07-02 12:10:05  
12

概括

成为一名全栈 Web 开发人员需要经历一段艰难的学习过程,因为至少您必须学习如何在三个领域进行编码:1) 持久层、2) 提供逻辑的应用层和 3) 用于呈现用户可交互界面的视图层。在大多数情况下,每个层都将使用不同的编程语言实现,因此您需要学习的材料数量会更多。但是,使用 Javascript,您可以轻松使用一种涵盖所有三个层的编程语言,从而使学习体验更易于管理。

在本指南中,我们将介绍如何使用 Javascript Node.js 作为应用层、React.js 作为与后端交互的视图层来构建一个简单的后端服务器,以模拟全栈体验。

设置服务器

您将要创建的服务器应用程序将是一个返回 JSON 数据的模拟 API 端点。首先创建一个名为app.js的 Javascript 文件,其中包含以下内容:

      var http = require('http');

var hostname  = '127.0.0.1';
var port      = 3000;

var app = http.createServer(function(req, res) {
            res.setHeader('Content-Type', 'application/json');

            res.end(
              JSON.stringify({
                firstName: "John",
                lastName: "Doe"
              })
            );
          });

app.listen(port, hostname);
    

使用纯 Javascript 和 Node.js,您可以轻松创建充当端点的服务器应用程序服务器。行res.setHeader('Content-Type', 'application/json')强制响应以 JSON 形式返回数据。函数res.end()接受包含firstNamelastName的 JSON 对象的字符串版本,这将是此端点的有效负载。通过运行行app.listen(port, hostname)启动服务器应用程序,其参数设置为主机的 localhost 和端口号 3000。

运行服务器

在终端中发出以下命令来开始运行服务器:

      $ node app.js
    

使用浏览器访问 URL https://localhost:3000,您应该会看到以以下形式返回的 JSON 对象:

      {
  "firstName": "John",
  "lastName": "Doe"
}
    

一旦您验证了模拟端点正在工作,请执行相同的操作,但这次以编程方式使用 React.js 前端组件。

创建 React.js 前端

首先创建一个名为PersonComponent的 React 组件,代码如下:

      import React from 'react';
import $ from 'jquery';

export default class PersonComponent extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      firstName: "",
      lastName: ""
    }
  }

  render() {
    return (
      <div>
        <h1>{this.state.firstName} {this.state.LastName}</h1>
      </div>
    );
  }
}
    

此 vanilla 组件将仅显示firstNamelastName状态值。最初,这些值设置为空字符串。

接下来,创建一个从后端 API 获取数据的方法,其端点为https://localhost:3000 。在组件中创建以下获取方法:

      fetch() {
  var context = this;

  $.ajax({
    url: 'http://localhost:3000',
    method: 'GET',
    success: function(response) {
      context.setState({
        firstName: response.firstName,
        lastName: response.lastName
      });
    }
  });
}
    

首先创建一个引用上下文,其值为this,引用组件的实例。代码成功调用 API 后端后,它将在成功函数的逻辑中使用。context将调用setState更新来自response的 React.js 组件的状态值,而 response 又是 API 返回的 JSON 对象。

最后要做的是在首次挂载组件时自动调用fetch。为此,请使用以下逻辑重写 React.js 组件方法componentDidMount() :

      componentDidMount() {
  this.fetch();
}
    

所有这些操作都是在组件成功安装后调用fetch。反过来,fetch将与 API 交互,更新状态,并强制使用更新的值重新渲染视图,从而完成循环。

总体代码

最终代码如下:

服务器应用程序

      var http = require('http');

var hostname  = '127.0.0.1';
var port      = 3000;

var app = http.createServer(function(req, res) {
            res.setHeader('Content-Type', 'application/json');

            res.end(
              JSON.stringify({
                firstName: "John",
                lastName: "Doe"
              })
            );
          });

app.listen(port, hostname);
    

ReactJS 前端

      import React from 'react';
import $ from 'jquery';

export default class PersonComponent extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      firstName: "",
      lastName: ""
    }
  }

  componentDidMount() {
    this.fetch();
  }

  fetch() {
    var context = this;

    $.ajax({
      url: 'http://localhost:3000',
      method: 'GET',
      success: function(response) {
        context.setState({
          firstName: response.firstName,
          lastName: response.lastName
        });
      }
    });
  }

  render() {
    return (
      <div>
        <h1>{this.state.firstName} {this.state.LastName}</h1>
      </div>
    );
  }
}
    

结论

在本指南中,您了解了如何使用单一编程语言来实现应用程序的后端和前端组件。这缩短了学习曲线,因为您只需专注于学习一种编程语言,而不是处理系统不同层的多种语言。在大多数情况下,这可以证明是一种更灵活的应用程序构建方法,因为您可以花时间深入研究 Javascript 并理解其更高级的复杂性,同时仍然能够为技术堆栈的所有部分做出贡献。添加持久层也将更容易,因为您只需寻找一个同样用 Javascript 编写的抽象层,它为底层数据库提供 API 调用。

如果您有任何问题或疑虑,或者只是想聊聊编程方面的一般问题,请联系我@happyalampay

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据