簡體   English   中英

如何使用反應打字稿修復“{}”上不存在的屬性?

[英]How to fix property does not exist on '{}' with react typescript?

我正在嘗試使用typescript為我的ReactJS應用程序全局設置登錄狀態 我在文件中聲明了上下文並導入到 App.tsx 文件中。

export const loginContext = createContext({});

在 App.tsx 文件中,我創建了一個狀態並將變量和函數作為對象提供。

import { loginContext } from "./context";

const [isLoggedIn, setIsLoggedIn] = useState(false);
return (
    <loginContext.Provider value={{ isLoggedIn, setIsLoggedIn }}>
    ...
    </loginContext.Provider>
)

現在我想訪問另一個文件中的isLoggedIn變量

我試圖通過寫作來做到這一點,

import { loginContext } from "../context";

const { isLoggedIn, setIsLoggedIn } = React.useContext(loginContext);

但是打字稿向我顯示以下錯誤,

類型“{}”上不存在屬性“isLoggedIn”。

類型“{}”上不存在屬性“setIsLoggedIn”。

任何幫助,將不勝感激

您應該在創建上下文的位置定義適當的默認值。 像這樣的東西。

export const loginContext = createContext({
 isLoggedIn: false,
 setIsLoggedIn: (value: boolean): void => {}
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM