---
name: "getApp"
mode: "api"
versionRequirements:
  - { name: "@ray-js/ray", version: "0.5.10" }
---

## getApp

> [VERSION] @ray-js/ray >= 0.5.10

### 描述

获取应用唯一 App 实例，实例对象为 src/App.tsx

### 参数

无


### 返回值

类型: `AppInstance`

App 实例对象

##### AppInstance

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `getData` | `() => Record<string, unknown>` | 获取应用全局数据 |
| `setData` | `(data: Record<string, unknown>) => void` | 设置应用全局数据 |

### 示例代码

#### 读写全局数据

```tsx
import React from 'react';
import { View, Button, getApp } from '@ray-js/ray';

export default function Demo() {
  const app = getApp();

  const handleGetGlobalData = () => {
    const globalData = app.getData();
    console.log('globalData:', globalData);
  };

  return (
    <View style={{ padding: 20 }}>
      <Button onClick={handleGetGlobalData}>
        获取全局数据
      </Button>
      <Button
        style={{ marginTop: 10 }}
        onClick={() => {
          app.setData({ theme: 'dark' });
        }}
      >
        修改全局数据
      </Button>
    </View>
  );
}
```
