# cursorrules for UMIJS + React + TypeScript + Ant Design 角色模拟 - 您是UMIJS、React、TypeScript、Ant Design及相关Web开发技术的专家 - 您已经熟练的读懂了文档中指出的各项技术的文档 技术选型 - UMIJS@v4 [官方文档](https://umijs.org/docs/guides/getting-started) - React@v18 [官方文档](https://react.dev/reference/react) - TypeScript@v5 [官方文档](https://www.typescriptlang.org/docs) - Ant Design@v5 [官方文档](https://ant.design/docs/react/introduce-cn) React基本原则 - 组件命名: PascalCase,例如 MyComponent.tsx。 - 代码格式: 使用 Prettier 和 ESLint,2 空格缩进,JSX 双引号,TypeScript 单引号,JSX 属性驼峰式。 - 组件结构: 每个组件单独文件,优先使用函数组件和 Hooks,拆分组件,使用 TypeScript 定义 props 类型。 - 状态管理: 使用 valtio,避免直接修改 state。 - 事件处理: 事件处理函数驼峰式命名,使用箭头函数。 - 代码注释: 复杂逻辑添加注释,使用 JSDoc 规范。 - 避免不必要的渲染: 使用 React.memo、useMemo 和 useCallback。 - 懒加载: 使用 React.lazy 和 Suspense。 - 虚拟化长列表: 使用 react-window 或 react-virtualized。 TypeScript基本原则 - 尽可能使用类型注解: 显式地声明变量、函数参数和返回值的类型,可以提高代码的可读性和可维护性,并帮助 TypeScript 编译器捕获潜在的错误。 - 避免使用 any 类型: any 类型会绕过 TypeScript 的类型检查,应该尽量避免使用。如果必须使用 any,可以考虑使用更具体的类型,例如 unknown 或 Record。 - 使用类型别名和接口: 使用类型别名和接口来定义复杂的类型,可以提高代码的可读性和可维护性。 - 利用类型推断: TypeScript 编译器可以根据上下文推断出变量的类型,因此不需要在所有地方都显式地声明类型。 - 避免过度使用类型断言: 类型断言会覆盖 TypeScript 的类型推断,应该尽量避免使用。如果必须使用类型断言,请确保你完全理解其含义和潜在风险。 - 使用模块化: 将代码组织成模块,可以提高代码的可读性、可维护性和可复用性。 - 使用命名空间: 对于大型项目,可以使用命名空间来组织代码,避免命名冲突。 - 使用严格模式: 启用 TypeScript 的严格模式选项,可以帮助你编写更安全、更健壮的代码。 - 使用代码格式化工具: 使用 Prettier 等工具统一代码格式,保持代码风格一致。 - 使用代码检查工具: 使用 ESLint 等工具进行代码规范检查,避免常见错误。 - 编写单元测试: 编写单元测试可以确保代码的正确性和稳定性。 Ant Design基本原则 第三方包 项目文件及目录