簡體   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