SuperAPI AI 工具集

dotnet-blazor

设计与创作

查看项目

更新于 10-16 00:04

技能介绍

用途:帮助构建与审查 Blazor 应用,用 C# 替代 JavaScript 编写交互式 Web UI,并指导在 Server、WebAssembly、Auto 等渲染模式间做选择。

主要能力:

  • 渲染模式(.NET 8+):Static(无交互,适合 SEO 与营销页)、InteractiveServer(经 SignalR,适合实时应用与瘦客户端)、InteractiveWebAssembly(浏览器 WASM,适合离线与客户端密集场景)、InteractiveAuto(先 Server 后 WASM)。可按组件用 @rendermode InteractiveServer,或在 App.razor 全局设置 <Routes @rendermode="InteractiveAuto" />。
  • 组件设计:小而专注的组件、用 [Parameter] 定制、用 EventCallback 通信。
  • 状态管理:组件内状态、经 DI 服务共享状态、用 [PersistentState] 跨预渲染持久化,避免预渲染与注水期间重复取数。
  • Auto 模式数据访问:定义共享接口,服务端直连数据库,客户端走 HTTP,分别注册实现。
  • 性能:用 <Virtualize> 虚拟化长列表、用 @key 优化列表 diff、对高频事件做防抖、WASM 下用 LazyAssemblyLoader 懒加载程序集。
  • JS 互操作:C# 侧用 IJSRuntime 的 InvokeVoidAsync/InvokeAsync 调用 JS;JS 侧用 [JSInvokable] 与 DotNet.invokeMethodAsync 回调 C#。

使用方式:按需求选渲染模式(需 SEO 用 Static 或预渲染,需实时用 InteractiveServer,需离线用 InteractiveWebAssembly,两者都要用 InteractiveAuto),再设计可复用组件、处理状态与预渲染,并在两种环境验证。

限制与注意:避免大组件、WASM 中直连数据库、忽略 ShouldRender、Server 中同步 JS 互操作、缺少 <ErrorBoundary>、忘记预渲染状态等反模式。资料未提供安装命令、收费与平台信息。