如何删除“警告:异步存储已从反应本机核心中提取...”?

2024-01-10

我已经尝试过此屏幕截图中推荐的内容

通过使用这行代码import AsyncStorage from '../../../node_modules/@react-native-community/async-storage';在我要导入的文件中async-storage from react-native但这条路径尚未解决,即async-storage该目录中不存在。我也尝试安装async-storage(即使它已经安装)通过运行yarn add async-storage,但是前面提到的目录中什么也没有出现


有两种方法可以做到这一点。

  • 首先导入AsyncStorage正确。这将删除警告并解决问题。
  • 其次,抑制警告。这只会隐藏警告,但一旦出现问题就会出现AsyncStorage已被删除react-native. I 不会这样做是真正解决问题的第一种方法。

Note如果您使用的依赖项使用 AsyncStorage 并且仍然以旧方式从 React-Native 导入它,您可能会收到此警告。安装 AsyncStorage 不会修复该错误。您需要查看依赖项的依赖项,找出是哪一个造成的。

这意味着实际上要检查每个依赖项的代码以查看它们是否使用AsyncStorage。搜索节点模块或依赖项的 Github 通常就足够了,但可能需要一些时间才能找到它。

一旦找到导致该问题的原因,您应该提出一个问题或创建一个 PR,并修复依赖项的存储库。此时,在问题得到解决之前,您所能做的就是抑制该警告。

安装异步存储

  1. 使用您最喜欢的包管理器安装它npm or yarn
  2. 链接依赖项
  3. 使用依赖项

安装:选择您常用的方式

npm i @react-native-community/async-storage

or

yarn add @react-native-community/async-storage

链接依赖项(如果您使用 0.60+,则可能不必这样做,因为它有自动链接 https://github.com/react-native-community/cli/blob/master/docs/autolinking.md)

react-native link @react-native-community/async-storage

然后你像这样导入它,并像以前一样使用它。

import AsyncStorage from '@react-native-community/async-storage';

您可以通过查看了解更多相关信息here https://github.com/react-native-community/react-native-async-storage/blob/master/README.md

抑制警告。

以前你会使用YellowBox为了抑制警告,现在已更改为LogBox https://reactnative.dev/docs/debugging#logbox。该过程类似于YellowBox

import { LogBox } from 'react-native';

然后你可以添加以下内容

LogBox.ignoreLogs(['Warning: Async Storage has been extracted from react-native core']);

我通常在App.js因此很容易跟踪我隐藏了哪些内容。

它不会从控制台中删除警告,但会删除与错误关联的任何 LogBox 警告。但是,这次我不会这样做,因为有一个正确的修复方法,那就是正确安装依赖项。


世博用户

目前世博会仍进口AsyncStorage from react-native,因此您可能仍然会遇到警告。我相信出于向后兼容性的原因它仍然以这种方式导入。快速搜索 Expo 存储库会发现有很多使用它的实例,如您所见。在这种情况下,您唯一的选择是抑制警告。根据世博会特色要求,目前正在进行中 https://expo.canny.io/feature-requests/p/continued-support-for-asyncstorage,所以希望它很快就会被添加到 Expo 中。

展会动态

截至 2020 年 6 月:@react-native-community/async-storagev1.11.0 可以安装在 Expo 托管应用程序中。希望这会导致随着依赖项转换为导入异步存储的新方式而出现更少的警告。

回购协议更新

现在有一个新的异步存储存储库,可以在此处找到

https://github.com/react-native-async-storage/async-storage https://github.com/react-native-async-storage/async-storage

查看安装和链接说明文档

https://react-native-async-storage.github.io/async-storage/docs/install/ https://react-native-async-storage.github.io/async-storage/docs/install/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除“警告:异步存储已从反应本机核心中提取...”? 的相关文章

随机推荐