You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中AsyncStorage已弃用,使用react-native-mqtt时该如何处理?

解决React Native中AsyncStorage弃用问题的方案

原因说明

React Native从0.59版本开始已将AsyncStorage移出核心库,原核心库内的AsyncStorage模块已被标记为弃用,所以直接从react-native包导入会触发弃用提示。

具体解决步骤

  • 第一步:安装官方维护的替代包
    裸React Native项目执行以下命令安装:
    # 使用npm安装
    npm install @react-native-async-storage/async-storage
    # 或使用yarn安装
    yarn add @react-native-async-storage/async-storage
    
    # iOS环境需要额外执行pod安装
    cd ios && pod install && cd ..
    
    如果你使用Expo开发,直接执行:
    npx expo install @react-native-async-storage/async-storage
    
  • 第二步:替换导入语句
    将原来从react-native包导入AsyncStorage的代码,替换为从新包导入:
    // 移除原导入逻辑
    // import { AsyncStorage } from 'react-native'
    // 替换为以下导入语句
    import AsyncStorage from '@react-native-async-storage/async-storage'
    
  • 第三步:保持MQTT初始化配置不变
    新的AsyncStorage包完全兼容原有API,你原来的init配置不需要做任何修改,直接传入storageBackend: AsyncStorage即可正常使用。

修改后的完整代码示例

import init from 'react-native-mqtt'
import AsyncStorage from '@react-native-async-storage/async-storage'

init({
  size: 10000,
  storageBackend: AsyncStorage,
  defaultExpires: 1000 * 3600 * 24,
  enableCache: true,
  reconnect: true,
  sync : {
  }
});

注意事项

  • 新包完全兼容原有AsyncStorage的所有API,原有业务代码中调用AsyncStorage的getItem、setItem等方法的逻辑不需要做任何改动即可正常运行。
  • Android环境不需要额外配置,安装完依赖直接rebuild项目即可生效。

内容的提问来源于stack exchange,提问作者Keltouma Indtaher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:06:11