当前位置: 首页 > 知识库问答 >
问题:

即使它在文档中被调用和实现,也会发生反应本机异步存储渲染错误

步炯
2023-03-14

错误类型错误:未定义不是对象(评估“_$$_REQUIRE(_dependencyMap[6],”@react本机异步存储/异步存储“)。异步存储.getItem')

此错误位于:在 RCTView(在.js应用程序.js:32)的“视图”(在应用程序容器处.js:106)中的“在应用程序”(在呈现时.js:32)在“视图”(在应用程序容器处.js:133)中位于“应用程序”(在应用程序容器处.js:41)

阻止引用我的代码:`

import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import OnboardingScreen from './Component/Onboardingscreen';
import LoginScreen from './Component/Loginscreen';
import { AsyncStorage } from '@react-native-async-storage/async-storage';
import { useEffect } from 'react';
const AppStack = createStackNavigator();

 const App =() => {
     const [isFirstLaunch, setIsFirstLaunch,] = React.useState(null);

     useEffect(() => {
         AsyncStorage.getItem('alreadyLaunched').then(value => {
             if(value == null) {
                 AsyncStorage.setItem('alreadyLaunched','true');
                 setIsFirstLaunch(true);
             } else {
                 setIsFirstLaunch(false);
             }
         });
     }, []);
     
     if (isFirstLaunch == null) {
         return null;
     } else if ( isFirstLaunch == true ){
        return (
            <NavigationContainer>
                <AppStack.Navigator
                headerMode='none'
                >
                    <AppStack.Screen name="OnboardingScreen" component={OnboardingScreen}/>
                    <AppStack.Screen name='login' component={LoginScreen} />
                </AppStack.Navigator>
            </NavigationContainer>
        );
     } else {
    return  <LoginScreen />;
 }
}

export default App;

`

共有1个答案

刘令
2023-03-14

如文档中所示,< code>AsyncStorage应作为默认导入而不是命名导入进行导入。

所以替换:

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

通过:

import AsyncStorage from '@react-native-async-storage/async-storage';
 类似资料:
  • 我对React Native还不熟悉,我正在努力掌握异步存储的使用。我已经查看了文档,并查看了一些可用的包装,但找不到几个问题的答案。 > 是否有一个地方我可以查看Asyncstore中的数据。我似乎找不到任何关于这些数据位置的信息。在应用程序或xcode中是否有我可以查看和/或直接更新的文件?

  • 我试图从一个id呈现一个反应原生组件,它被赋予一个超文本传输协议请求,然后返回组件可以使用的json。由于超文本传输协议请求是异步的,因此传递到PostCard呈现中的数据是未定义的。我试图通过等待getSinglePost的返回来解决这个问题,但是数据仍然没有定义。如果不清楚,渲染函数调用renderCard函数,该函数应该等待getSinglePost函数的json,然后返回一个填充的Post

  • 我有一个组件,它获取作为道具的项目集合,并将它们映射到作为父组件的子组件呈现的组件集合。我们使用存储在WebSQL中的图像作为字节数组。在函数中,我从项中获取图像ID,并对进行异步调用,以获取图像的字节数组。我的问题是,我不能在React中传播这个promise,因为它不是为了处理渲染中的promise而设计的(至少我可以告诉你)。我来自一个背景,所以我想我正在寻找类似于关键字的东西来重新同步分支

  • 问题内容: 我正在尝试渲染文件。该文件存在于我的项目中,但是当我尝试渲染它时,我一直在获取文件。Flask为什么找不到我的模板? 问题答案: 必须在正确的位置创建模板文件。在你的python模块旁边的子目录中。 该错误表明目录中没有文件。确保在与模块相同的目录中创建了该目录,并且确实将文件放在该子目录中。如果你的应用是软件包,则应在软件包内创建模板文件夹。 另外,如果你将模板文件夹命名为templ

  • 问题内容: 我正在尝试渲染文件。该文件存在于我的项目中,但是当我尝试渲染它时,我一直在获取文件。Flask为什么找不到我的模板? 问题答案: 你必须在正确的位置创建模板文件。在你的模块旁边的子目录中。 该错误表明目录中没有文件。确保在与python模块相同的目录中创建了该目录,并且确实将文件放在该子目录中。如果你的应用是软件包,则应在软件包内创建模板文件夹。 另外,如果你将模板文件夹命名为而不是其

  • 注意:在 Photoshop CS6 中,3D 功能是 Photoshop Extended 的一部分。Photoshop Extended 中的所有功能是 Photoshop 的一部分。Photoshop 不提供单独的 Extended 版本。 更改 3D 渲染设置 渲染设置决定如何绘制 3D 模型。Photoshop 会安装许多带有常见设置的预设。自定设置以创建自己的预设。 注意:渲染设置是图