# state api

状态 API 提供对应用状态的访问和修改。

## AppStateStore

### 获取状态

```typescript
const state = store.getState();
console.log(state.session.messages);
```

### 更新状态

```typescript
store.setState(state => ({
  ...state,
  session: {
    ...state.session,
    messages: [...state.session.messages, newMessage],
  },
}));
```

### 订阅状态变化

```typescript
const unsubscribe = store.subscribe(state => {
  console.log('State updated:', state);
});

// 取消订阅
unsubscribe();
```

## React 集成

### useStore Hook

```typescript
function useStore<T>(selector: (state: AppState) => T): T {
  const [value, setValue] = useState(() => selector(store.getState()));
  
  useEffect(() => {
    return store.subscribe(state => {
      setValue(selector(state));
    });
  }, [selector]);
  
  return value;
}
```

### 使用示例

```typescript
function ChatView() {
  const messages = useStore(state => state.session.messages);
  
  return (
    <Box>
      {messages.map(msg => <Message key={msg.id} {...msg} />)}
    </Box>
  );
}
```
