繁体   English   中英

ReferenceError: 找不到变量: False - React Native (Hookstate)

[英]ReferenceError: Can't find variable: False - React Native (Hookstate)

在我的 React Native 代码中,我一直使用 Hookstate 作为我的状态管理器(在这种情况下是为了查看用户是否已登录)。 虽然我的身份验证流程在点击登录按钮后会显示主页一秒钟,但会弹出一个错误(如标题所示)。

下面是我对 Hookstate 状态的实现:

import { createState, useState } from "@hookstate/core"

const globalIsLoggedIn = createState(false)

export function useGlobalIsLoggedIn(){
    const state = useState(globalIsLoggedIn)

    return ({
        get isLoggedInVal(){
            return state.value
        },
        setTrue(){
            state.set(true)
        },
        setFalse(){
            state.set(false)
        }
    })
}

export function accessGlobalIsLoggedIn(){
    return ({
        setTrue(){
            globalIsLoggedIn.set(true)
        },
        setFalse(){
            globalIsLoggedIn.set(false)
        }
    })
}

下面是我对 App.js 的实现:

import React from 'react';
import { SignUpScreen } from './src/SignUpScreen/signUp.js'
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { LoginScreen } from './src/LoginScreen/login.js';
import { useGlobalIsLoggedIn, useGlobalState } from './src/loggedIn.js';
import { HomeScreen } from './src/HomeScreen/HomeScreen'

const Stack = createStackNavigator();


export default function App() {

  const isLoggedIn = useGlobalIsLoggedIn()

  return (
    <NavigationContainer>
      <Stack.Navigator headerMode="none">
        {
          isLoggedIn.isLoggedInVal ? (
            <Stack.Screen name="Home" component={HomeScreen} />
          ) : (
            <>
              <Stack.Screen name="SignIn" component={SignUpScreen} />
              <Stack.Screen name="Login" component={LoginScreen} />
            </>
          )
        }
      </Stack.Navigator>
    </NavigationContainer>
  );
}

但是,当我运行应用程序并更新全局状态(发生在不同的文件中)时,我看到主页一秒钟,然后出现异常“ReferenceError:找不到变量:False”。

任何帮助,将不胜感激。

Hookstate 的作者在这里。 您的代码中出现了语法错误。 False (以大写 F 开头)不是 JS 中定义的变量/值,除非您自己在某处定义它(这将是一个坏主意)。 我没有看到您在代码示例中引用False ,因此请搜索更广泛的代码库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM