-
Notifications
You must be signed in to change notification settings - Fork 28
BEST_PRACTICES
github-actions[bot] edited this page Feb 15, 2026
·
3 revisions
项目中大量使用了 FlashList 进行列表渲染。为了保证滚动性能,请严格遵守以下规范:
-
renderItem 定义:
renderItem函数必须在组件函数外部定义(并不推荐使用useCallback) -
extraData 使用: 所有
renderItem依赖的外部变量(除了item本身),都必须放入extraData属性中。 -
Memoization:
extraData对象必须使用useMemo包裹,避免因引用变化导致不必要的重渲染。
- Oxfmt: 项目配置了 Oxfmt,请确保编辑器开启了保存自动格式化。
- Oxlint/ESLint: 提交前请修复所有的 lint 警告。
-
组件命名: 使用帕斯卡命名法 (PascalCase),如
MyComponent.tsx。 -
Hook 命名: 使用
use前缀,如usePlayerState.ts。
- Service/Facade 层: 关键业务路径应记录日志。
- Error Handling: 捕获到错误时,应记录错误堆栈。
-
Debug: 开发环境下的调试日志请使用
console.debug,生产环境构建会自动移除。