问题描述
我基本上遇到了与这里相同的问题.
I'm basically having the issue same as here.
https://github.com/firebase/firebase-js-sdk/问题/1899
由于 AsyncStorage
已弃用,我尝试按照
Since AsyncStorage
is deprecated, I tried to install @react-native-community/async-storage
following the official documentation
但它完全失败了,因为我收到了上面的错误.因此,我想回滚到我以前的工作版本,除了我所做的没有工作.
But it failed completely as I got the error above.Thus I wanted to roll back to my previous working version except none of what I did worked.
- 错误屏幕上建议的 4 个命令
- 使用
yarn remove
撤销 - 我也做了
npm install @react-native-community/async-storage
,没有用.3.5 所以我做了npm uninstall @react-native-community/async-storage
它被删除了,但回滚不起作用. - 重新安装
react-native-cli
- 重新创建一个完全从头开始的新项目,但它仍然给出同样的错误.
yarn add
- 4 commands suggested on the error screen
- undoing
yarn add
withyarn remove
- I also did
npm install @react-native-community/async-storage
, did not work.3.5 so I didnpm uninstall @react-native-community/async-storage
It was removed, but roll-back did not work. - Re-installing the
react-native-cli
- Re-creating a completely new project from scratch, but it is still giving the same error.
我找不到解决方案.请帮忙.
I could not find a solution for this. Please help.
推荐答案
如果是在 iOS
上,您可能忘记执行 pod install
.
If it's on iOS
you probably forgot to do pod install
.
将其粘贴到 ios/Podfile
中:
pod 'RNCAsyncStorage', :path => '../node_modules/@react-native-community/async-storage'
然后只做 cd ios &&pod安装
编辑.
我从头开始创建一个项目,这是我在 iOS 和 Android 上运行 asyncStorage 的步骤:
I createad a project from scratch, this are the steps i did to make asyncStorage run on iOS and Android:
1) react-native init AsyncTest
2) npm i @react-native-community/async-storage
(在此步骤中尝试使用 asyncStorage 显示错误,但适用于 Android)
(trying to use asyncStorage during this step shows error, but works on Android)
3) 将这个 pod 粘贴到 Podfile 中:
3) Pasted inside Podfile this pod:
pod 'RNCAsyncStorage', :path => '../node_modules/@react-native-community/async-storage'
4) 从终端,假设您在项目文件夹中执行 cd ios
和 pod install
4) From terminal, assuming you are in the project folder do cd ios
and pod install
5) 项目在 iOS 上成功运行并运行.
5) Project run succesfully on iOS and works.
react-native 版本是 0.60.4
react-native version was 0.60.4
这是项目测试 App.js 用于测试的方式:
This is how the project test App.js was for the test:
import React from 'react';
import { View } from 'react-native';
import AsyncStorageTest from './AsyncStorageTest'
const App = () => {
return (
<View>
<AsyncStorageTest />
</View>
);
};
export default App
AsyncStorageTest 是:
And AsyncStorageTest is:
import React, { Component } from 'react'
import { View, Text, Button } from 'react-native'
import AsyncStorage from '@react-native-community/async-storage';
export class AsyncStorageTest extends Component {
constructor(props) {
super(props)
this.state = {
storedData: "myValue"
}
}
storeData = async () => {
console.log("inside storeData")
try {
await AsyncStorage.setItem('Test', 'TestValue')
} catch (e) {
console.log(e)
}
}
getData = async () => {
console.log("inside getData")
try {
const value = await AsyncStorage.getItem('Test')
this.setState({ storedData: value })
} catch (e) {
// error reading value
}
}
render() {
return (
<View style={{ marginTop: 40 }}>
<Text> {this.state.storedData}</Text>
<Button title={"storeData"} onPress={this.storeData}></Button>
<Button title={"getData"} onPress={this.getData}></Button>
</View>
)
}
}
export default AsyncStorageTest
经过测试和工作,看看您是否遗漏了什么.
Tested and worked, see if you missed something.
确保 @react-native-community/async-storage
已与您的项目取消链接.
Make sure the that @react-native-community/async-storage
is unlinked from your project.
这篇关于`无法解析模块@react-native-community/async-storage` 破坏了我的 React Native 环境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!