React Native集成Parse Server报错:setAsyncStorage不是函数
解决Parse Server与React Native集成的
setAsyncStorage错误 嘿,我来帮你搞定这个问题!你遇到的TypeError: _reactNative3.default.setAsyncStorage is not a function错误,本质是因为新版本的Parse React Native SDK已经废弃了旧的setAsyncStorage配置方式,而官方文档可能没及时更新导致的。
下面是具体的修复步骤:
1. 先确认依赖安装到位
首先要确保你已经装了React Native官方的AsyncStorage包,现在它已经独立成@react-native-async-storage/async-storage了,没装的话先执行:
npm install @react-native-async-storage/async-storage # 用yarn的话就跑这个 yarn add @react-native-async-storage/async-storage
2. 改用新的Parse初始化方式
现在Parse SDK已经把存储配置整合到初始化参数里了,不用再单独调用setAsyncStorage啦。修改你的初始化代码:
import AsyncStorage from '@react-native-async-storage/async-storage'; import Parse from 'parse/react-native'; // 初始化Parse,直接把AsyncStorage传入配置 Parse.initialize({ appId: '你的APP_ID', // 替换成你的Parse App ID serverURL: '你的Parse服务器地址', // 比如http://localhost:1337/parse javascriptKey: '你的JavaScript Key', // 如果你的服务器配置了的话 asyncStorage: AsyncStorage, // 关键:在这里指定存储引擎 });
如果你的Parse版本稍旧一点(介于新旧过渡版本),也可以用这种方式:
import AsyncStorage from '@react-native-async-storage/async-storage'; import Parse from 'parse/react-native'; // 旧版初始化写法 Parse.initialize('你的APP_ID', '你的JavaScript Key', '你的Master Key'); Parse.serverURL = '你的Parse服务器地址'; // 改用CoreManager的方法设置存储 Parse.CoreManager.setAsyncStorage(AsyncStorage);
3. 检查并更新Parse SDK版本
建议你查看一下package.json里的parse版本,尽量升级到最新稳定版,避免版本兼容问题:
npm install parse@latest # yarn用户执行 yarn add parse@latest
做完这些步骤后,重新运行你的项目,这个错误应该就消失啦。如果还有问题,可以检查下AsyncStorage的导入路径是否正确,或者Parse的初始化代码是不是写在所有Parse API调用之前哦。
内容的提问来源于stack exchange,提问作者HanenO
相关产品推荐
相关产品推荐

