找不到 Next Js 上下文。

4

import { createContext, ReactNode, useState } from 'react';
import { MenuItem } from '../interfaces/menu.interfaces';
import { TopLevelCategory } from '../interfaces/page.interface';

export interface IAppContext {
    menu: MenuItem[];
    firstCategory: TopLevelCategory;
    setMenu?: (newMenu: MenuItem[]) => void;
}


export const AppContext = createContext<IAppContext>({menu: [], firstCategory: TopLevelCategory.Courses});


export const AppContextProvider = ({ menu, firstCategory, children }: IAppContext & { children: ReactNode }): JSX.Element => {
    const [menuState, setMenuState] = useState<MenuItem[]>(menu);
    const setMenu = (newMenu: MenuItem[]) => {
        setMenuState(newMenu);
    };

    return <AppContext.Provider value={{ menu: menuState, firstCategory, setMenu }}>
        {children}
    </AppContext.Provider>;
}; 

我有这段代码,但它无法看到AppContext,并且错误显示为Cannot find namespace 'AppContext'. ts(2503)。
当我在上面创建它时,我不明白为什么它找不到AppContext,请帮忙解决问题。 这里

2个回答

7

2

你的文件扩展名很可能是 .ts 而不是 .tsx

请将扩展名更改为 filename.tsx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接