React Native 显示 TypeError: undefined is not an object(评估“Context._context”)

时间:2021-07-27 14:43:28

标签: react-native expo

我正在使用上下文 API 将我的用户信息存储在状态中。首先,我尝试在 app.js 中使用 createContext 并提供我的价值,一切正常。但我收到了一个关于所需周期的警告。所以我想如果我在不同的文件中创建上下文,我不会收到警告。所以我创建了一个名为 appContext.js

的 js 文件

appContext.js

import React from "react";

export const AppContext = React.createContext({});

然后我尝试在我的 app.js 文件中像这样使用它

import Home from "./Screens/Home";
import Signup from "./Screens/Form/Signup";
import Login from "./Screens/Form/Login";
import { AppContext } from "./appContext";

const Drawer = createDrawerNavigator();

function App() {
const [userInfo, setUserInfo] = useState({
    userName: null,
    userEmail: null,
    userPhone: {
      number: null,
      countryCode: null,
    },
    userLoggedIn: false,
  });

 return (
    <AppContext.Provider
      value={{
        userState: [userInfo, setUserInfo],
      }}
    >
      {userInfo.userLoggedIn ? (
        <NavigationContainer>
          <Drawer.Navigator initialRouteName="Home">
            <Drawer.Screen name="Home" component={Home} />
          </Drawer.Navigator>
        </NavigationContainer>
      ) : (
        <NavigationContainer>
          <Drawer.Navigator edgeWidth={0} initialRouteName="Sign Up">
            <Drawer.Screen name="Login" component={Login} />
            <Drawer.Screen name="Sign Up" component={Signup} />
          </Drawer.Navigator>
        </NavigationContainer>
      )}
    </AppContext.Provider>
  );


}

但我收到此错误:undefined is not an object(evaluating 'Context._context') undefined is not an object(evaluating 'Context._context')

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。实际上,我在 sigup.js 文件中错误地导入了上下文。