构建 React 前端:文档库与聊天界面(第五部分)

发布日期:2026-05-21 10:36:11   浏览量 :1
发布日期:2026-05-21 10:36:11  
1

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

构建 React 前端:文档库与聊天界面(第五部分)

React Query 的 refetchInterval 将轮询需求简化为一行代码。以下是整个前端的详细解析。

前端是演示成功与否的关键所在。面试官会四处点击操作。文件上传需要感觉即时完成,流水线状态需要在不刷新页面的情况下更新,而聊天回复需要提供引用来源,以证明人工智能确实阅读了文档,而不仅仅是生成了听起来合理的虚构文本。

本文介绍了这些功能的工作原理,从身份验证开始,逐步讲解上传、状态轮询以及聊天界面。

技术选型

在深入之前,先快速盘点一下技术栈:

  • Vite — 比 Create React App 更快的开发服务器,原生支持 ES 模块的热模块替换,配置简单直观
  • React 18 + TypeScript — 启用严格模式,不使用 any 类型,所有应用程序接口响应在边界处均进行类型定义
  • Tailwind v4 — 实用优先,无需维护单独的层叠样式表文件
  • React Query (@tanstack/react-query) — 管理服务器状态,自动使缓存失效,并实现下文讨论的轮询行为
  • AWS Amplify UIAuthenticator 组件处理完整的 Cognito 登录/注册流程,无需自定义用户界面
  • Axios — 请求拦截器在每个出站请求中注入持有者令牌

身份验证:Amplify 与令牌拦截器

configureAmplify() 在模块加载时运行一次,早于任何其他内容渲染:

export function configureAmplify() {
  Amplify.configure({
    Auth: {
      Cognito: {
        userPoolId:       import.meta.env.VITE_USER_POOL_ID,
        userPoolClientId: import.meta.env.VITE_USER_POOL_CLIENT_ID,
        loginWith: {
          oauth: {
            domain:          import.meta.env.VITE_COGNITO_DOMAIN,
            scopes:          ['email', 'openid', 'profile'],
            redirectSignIn:  [

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部