技术栈:React+TS+FastAPI+TailWind CSS

🎨 前端部分:用户看到和交互的界面#

React —— 界面的“积木工厂”#

  • 是什么:一个用于构建用户界面的 JavaScript 库,由 Facebook 开发。

  • 通俗理解:它让你像搭积木一样,把网页拆分成一个个独立、可复用的组件(比如一个按钮、一个输入框、整个聊天窗口)。当数据变化时,React 会自动高效地更新需要变化的部分,不需要手动操作整个网页。

  • 为什么用它:开发效率高、组件化、生态极其丰富、大厂背书。

TypeScript (TS) —— JavaScript 的“严格教官”#

  • 是什么:在 JavaScript 的基础上增加了静态类型检查。

  • 通俗理解:写 JS 时如果变量类型弄错(比如把数字当字符串用),可能要等到运行时报错才发现。TS 在你写代码的时候就划红线提醒你,并且提供智能补全。就像给 JS 语言加了一套“安检系统”,大型项目里能减少大量低级错误。

  • 为什么加它:让代码更健壮、更易维护、团队协作更顺畅。

Tailwind CSS —— “原子化”的样式工具箱#

  • 是什么:一个实用优先的 CSS 框架。

  • 通俗理解:传统 CSS 是自己起名字、写一大段样式。Tailwind 提供大量小工具类(如 p-4 代表内边距、bg-blue-500 代表背景色),你直接在 HTML 标签上组合这些类名,不用离开 HTML 文件就能快速布局。

  • 为什么用它:开发速度极快、最终 CSS 文件体积小(未使用的样式会被清除)、样式一致性容易保证。


🖥️ 后端部分:处理数据和业务逻辑#

FastAPI —— 高性能的 Python API 框架#

  • 是什么:一个基于 Python 的现代 Web 框架,专门用来快速构建 API(应用程序接口)。

  • 通俗理解:你可以把它想象成一个“数据服务员”:前端 React 向它请求数据(比如“/users/123”),它去数据库查到用户信息,包装成 JSON 格式返回给前端。它之所以叫“Fast”,是因为性能极高(基于 Starlette 和 Pydantic),而且自带交互式 API 文档。

  • 为什么用它:性能接近 Go/Node.js、开发速度快(写最少代码实现最多功能)、自动生成 API 文档、支持异步、类型提示友好。

🔗 它们如何协同工作?#

一个典型的请求流程是这样的:

  1. 用户操作:用户在 React 界面上点击“获取用户信息”按钮。

  2. 前端发起请求:React 通过 fetchaxios 等工具,向 http://localhost:8000/users/123 这个地址发送 HTTP 请求。

  3. 后端处理:FastAPI 接收到请求,根据 /users/{user_id} 这个路径找到对应的处理函数,可能去数据库查询 ID 为 123 的用户。

  4. 后端返回数据:FastAPI 将查询结果转换成 JSON 格式(如 {"id": 123, "name": "张三"})返回给前端。

  5. 前端更新界面:React 收到 JSON 数据,触发组件重新渲染,在 Tailwind CSS 负责美化的卡片里显示“张三”。