{
setHintInfo(actionConfig)
setShowHint(true)
}}
onMouseLeave={() => setShowHint(false)}
>
{/* 按钮区域 */}
handleHover('add')}
onMouseLeave={handleLeave}
>
}>
新增主机
{/* 帮助面板 */}
setShowHelpPanel(false)}
currentAction={currentAction}
allActions={Object.values(actionsConfig)}
onActionSelect={(action) => setCurrentAction(action)}
/>
)
}
```
---
## 最佳实践
### 1. 内容编写规范
**功能描述:**
- 用简洁的语言描述功能(1-2句话)
- 突出重点和目的
- 避免技术术语
**使用场景:**
- 列举2-4个实际使用场景
- 使用"当...时"的句式
- 帮助用户理解何时使用
**操作步骤:**
- 按实际操作顺序编写
- 每步一句话,清晰明确
- 使用动词开头
**注意事项:**
- 危险操作必须有明确警告
- 使用醒目的颜色标记
- 提供实际的使用建议
### 2. 性能优化
```jsx
// ✅ 使用useMemo缓存配置
const actionsConfig = useMemo(() => ({
add: { ... },
delete: { ... }
}), [])
// ✅ 防止不必要的重渲染
const handleHover = useCallback((key) => {
if (!showPanel) {
setCurrentAction(actionsConfig[key])
}
}, [showPanel, actionsConfig])
// ✅ 面板打开时避免hover更新
if (!showPanel) {
setCurrentAction(null)
}
```
### 3. 可访问性
```jsx
// 添加title属性