我已经尝试了此屏幕截图中的建议
使用此行代码
我要从import AsyncStorage from '../../../node_modules/@react-native-community/async-storage';
导入async-storage
的文件中的react-native
但此路径无法解析,即async-storage
在此目录中不存在。我还尝试通过运行async-storage
来安装yarn add async-storage
(即使已经安装),但是在前面提到的目录中什么都没有出现
答案 0 :(得分:15)
有两种方法可以执行此操作。
AsyncStorage
。这将删除警告并解决问题。 AsyncStorage
中删除react-native
后,这只会隐藏警告,但会导致问题。我不会这样做,因为这实际上是解决问题的第一种方法。 npm
或yarn
安装:选择通常使用的方法
npm i @react-native-community/async-storage
或
yarn add @react-native-community/async-storage
链接依赖项
react-native link @react-native-community/async-storage
然后像这样导入它,并像以前一样使用它。
import AsyncStorage from '@react-native-community/async-storage';
您可以通过查看here
了解更多信息您可以使用以下
来禁止YellowBox警告import {YellowBox} from 'react-native';
然后在您的render方法中,我通常在App.js
中执行此操作,因此很容易跟踪隐藏了哪些对象。
render() {
YellowBox.ignoreWarnings(['Warning: Async Storage has been extracted from react-native core']); // <- insert the warning text here you wish to hide.
return (
//cool ui stuff
);
}
它不会从您的控制台中删除警告,但是会删除与该错误相关的所有YellowBox警告。但是,我不会在这种情况下这样做,因为有一个适当的修复方法是正确安装依赖项。
答案 1 :(得分:1)
对我来说,这个问题与@firebase有关。
<块引用>node_modules/@firebase/app/dist/index.rn.cjs.js
按照 Andrew 的上述步骤,在 vscode 中我能够删除警告。
一旦找到所有导入,为新版本正确安装 AsyncStorage(如上所述),也添加到 pods,然后通过并替换所有
require('react-native').AsyncStorage; => require('@react-native-community/async-storage').AsyncStorage;
import AsyncStorage from 'react-native'; => import AsyncStorage from '@react-native-community/async-storage';
我用 xcode 做了一个干净的构建,然后一切顺利,没有更多警告:-)