返回

React 果果记账-记账页面构建指南

前端

前言

React是一种用于构建用户界面的 JavaScript 库,它以其高效、灵活和可扩展性著称。在本文中,我们将使用React构建一个记账页面,名为“果果记账”,该页面将提供记账功能,帮助用户管理他们的财务状况。

正文

在开始构建记账页面之前,我们需要先了解几个重要概念:

  • 受控组件 :受控组件是指由React管理其值的状态的组件。当组件的状态发生变化时,组件的UI也会随之变化。
  • 非受控组件 :非受控组件是指不通过React管理其值的状态的组件。当组件的状态发生变化时,组件的UI不会随之变化。
  • onChange :onChange是一个事件处理程序,它会在用户输入值时触发。在React中,onChange事件处理程序用于处理用户输入数据。在HTML中,onChange事件处理程序用于处理用户在表单字段中输入值。

了解这些概念后,我们可以开始构建记账页面了。

搭建步骤

  1. 新建React项目

使用create-react-app命令创建一个新的React项目。

npx create-react-app果果记账
  1. 安装必要的依赖项

安装axios、react-router-dom和react-toastify依赖项。

npm install axios react-router-dom react-toastify
  1. 创建记账页面组件

在src目录下创建一个名为Account.js的新文件,并将其内容替换为以下代码:

import React, { useState } from "react";
import axios from "axios";
import { toast } from "react-toastify";

const Account = () => {
  const [account, setAccount] = useState({
    name: "",
    amount: 0,
  });

  const handleChange = (e) => {
    const { name, value } = e.target;
    setAccount({ ...account, [name]: value });
  };

  const handleSubmit = (e) => {
    e.preventDefault();

    axios
      .post("http://localhost:3001/accounts", account)
      .then((res) => {
        toast.success("记账成功!");
        setAccount({ name: "", amount: 0 });
      })
      .catch((err) => {
        toast.error("记账失败!");
      });
  };

  return (
    <div className="account-page">
      <h1>果果记账</h1>
      <form onSubmit={handleSubmit}>
        <label htmlFor="name">名称:</label>
        <input
          type="text"
          name="name"
          value={account.name}
          onChange={handleChange}
        />
        <label htmlFor="amount">金额:</label>
        <input
          type="number"
          name="amount"
          value={account.amount}
          onChange={handleChange}
        />
        <button type="submit">记账</button>
      </form>
    </div>
  );
};

export default Account;
  1. 在App.js中添加路由

在App.js文件中,添加以下代码以将记账页面添加到路由中:

import React from "react";
import { BrowserRouter as Router, Route } from "react-router-dom";
import Account from "./Account";

const App = () => {
  return (
    <Router>
      <Route path="/" exact component={Account} />
    </Router>
  );
};

export default App;
  1. 运行项目

使用npm start命令运行项目。

npm start

现在,您可以访问http://localhost:3000来查看记账页面了。

总结

在本文中,我们指导您如何使用React构建一个记账页面。我们探讨了受控组件和非受控组件、React和HTML的onChange区别,并提供了明确的步骤和示例代码,帮助您轻松搭建一个记账页面。