You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让TypeScript识别Fluent UI的fluent-divider元素?

解决React+TypeScript中Fluent UI Web Components元素类型识别问题

解决步骤

  • 添加全局类型声明文件
    在项目src目录下创建global.d.ts文件,写入以下代码扩展React的JSX类型定义,让TypeScript识别fluent-divider:
import type { FluentDivider } from "@fluentui/web-components";

declare global {
  namespace JSX {
    interface IntrinsicElements {
      "fluent-divider": React.DetailedHTMLProps<
        React.HTMLAttributes<FluentDivider>,
        FluentDivider
      >;
    }
  }
}
  • 卸载无关依赖
    你安装的@types/fluent属于旧版Fluent库的类型,与@fluentui/web-components无关,会引发类型冲突,执行以下命令卸载:
npm uninstall @types/fluent
# 若使用yarn则执行:
yarn remove @types/fluent
  • 重启TypeScript服务
    如果修改后错误仍未消失,在VSCode中按Ctrl+Shift+P,选择「TypeScript: Restart TS Server」重启语言服务,让类型定义生效。

扩展说明

如果后续需要使用更多Fluent UI Web Components元素(如fluent-button),可在同一个global.d.ts文件中继续扩展IntrinsicElements接口:

import type { FluentDivider, FluentButton } from "@fluentui/web-components";

declare global {
  namespace JSX {
    interface IntrinsicElements {
      "fluent-divider": React.DetailedHTMLProps<React.HTMLAttributes<FluentDivider>, FluentDivider>;
      "fluent-button": React.DetailedHTMLProps<React.HTMLAttributes<FluentButton>, FluentButton>;
    }
  }
}

内容的提问来源于stack exchange,提问作者Raphael10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:40:37