我无法使用打字稿反应创建上下文
I can't create context with typescript react
如果我使用 .js 而不是 .tsx 则没有问题。但是当我使用打字稿时,它显示此错误“预期 1 个参数,但得到 0 个参数。”。我错过了什么?
context.tsx
import { createContext, useContext} from "react";
const MainContext = createContext();
export {
MainContext,
useContext
}
Layout.tsx
const LayoutComponent = ({children}: any) => {
const [email, setEmail] = useState("");
const data = {
email,
setEmail
}
return (
<MainContext.Provider value={data}>
<Header />
{children}
</MainContext.Provider>
);
}
createContext 需要默认值
const MainContext = createContext({});
使用默认值
import { createContext, useContext} from "react";
const ctx = createContext({ someData: true })
export const useCtx = () => useContext(ctx)
如果我使用 .js 而不是 .tsx 则没有问题。但是当我使用打字稿时,它显示此错误“预期 1 个参数,但得到 0 个参数。”。我错过了什么?
context.tsx
import { createContext, useContext} from "react";
const MainContext = createContext();
export {
MainContext,
useContext
}
Layout.tsx
const LayoutComponent = ({children}: any) => {
const [email, setEmail] = useState("");
const data = {
email,
setEmail
}
return (
<MainContext.Provider value={data}>
<Header />
{children}
</MainContext.Provider>
);
}
createContext 需要默认值
const MainContext = createContext({});
使用默认值
import { createContext, useContext} from "react";
const ctx = createContext({ someData: true })
export const useCtx = () => useContext(ctx)