# 从 v0.3.0 迁移

在本小节，我们将介绍如何从 v0.3.0 升级。

如果你是老版本的 React APP 用户，请根据你的具体情况，进行正确的操作：

- 如果你没有对代码进行过任何修改，请直接拉取 v0.4.0 Tag 后重新构建部署即可，本次升级对你来说将是无感的
- 如果你修改过代码并且想要使用当前版本新增的功能，那么请遵循下面的步骤进行升级

:::warning
在 v0.4.0 版本中，我们完全弃用了 `DifyChatProvider` 和 `useDifyChat`, 这简化了组件嵌套关系。

原来的 `DifyChatProvider` 承载的配置初始化功能，现在被分拆为几个部分。
:::

## 1. 初始化运行模式

在 `packages/react-app/src/App.tsx` 中，初始化运行模式：

```tsx title="packages/react-app/src/App.tsx"
// 初始化全局运行时配置
difyChatRuntimeConfig.init('multiApp')
```

## 2. 初始化应用配置管理服务

现在的应用配置管理服务将会在需要使用时自动引入，依据不同的运行模式，入口分别如下：

- 单应用模式：`/packages/react-app/src/services/app/singleApp/index.ts`
- 多应用模式：`/packages/react-app/src/services/app/multiApp/index.ts`

你要做的是，在上面的入口文件中，导出你所使用的 `appService` 即可。

以多应用模式为例：

```ts title="packages/react-app/src/services/app/multiApp/index.ts"
import DifyAppService from './localstorage'

export const appService = new DifyAppService()
```

## 3. 初始化 `userId` 和 `enableSetting`

在 v0.4.0 中，新增了一个真正意义上的授权登录页面，你可以查看 [自定义用户信息](https://docs.dify-chat.lexmin.cn/guide/app-config/custom-user-info.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E7%94%A8%E6%88%B7%E4%BF%A1%E6%81%AF) 文档, 自定义你的用户信息获取和更新逻辑。
