# PullRefresh - 下拉刷新

## 说明

下拉刷新组件，放在页面内容外层，用户下拉触发刷新操作。带有阻尼效果和旋转 loading 动画。

## 属性

| 属性 | 说明 | 类型 | 默认值 | 必填 |
|------|------|------|--------|------|
| **refreshing** | 是否正在刷新（外部控制） | `boolean` | - | 是 |
| **onRefresh** | 触发刷新回调 | `() => void` | - | 是 |
| **children** | 页面内容 | `ReactNode` | - | 是 |
| **pullThreshold** | 下拉触发阈值（px） | `number` | `80` | 否 |
| **message** | 加载提示文字 | `string` | `'加载中...'` | 否 |
| **disabled** | 禁用下拉 | `boolean` | `false` | 否 |
| **backgroundColor** | 背景色 | `string` | - | 否 |

## 使用示例

```tsx
import { PullRefresh } from 'mhui-rn';

const [refreshing, setRefreshing] = useState(false);

const handleRefresh = () => {
  setRefreshing(true);
  fetchData().finally(() => setRefreshing(false));
};

<PullRefresh refreshing={refreshing} onRefresh={handleRefresh}>
  <ScrollView>
    {/* 列表内容 */}
  </ScrollView>
</PullRefresh>
```

## 注意事项

- `refreshing` 由外部控制，组件不维护刷新状态
- 下拉距离有阻尼效果（实际位移 = 手指位移 × 0.5），最大 150px
- 正在刷新时不响应新的手势
