【发布时间】:2022-07-18 22:51:20
【问题描述】:
尽管在非混音项目中看到了这样的工作示例,但它似乎并没有像我实现它的方式那样工作?
我在root.tsx中有以下内容:
export const MyContext = createContext("default");
function Document({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<head>
<Meta />
<Links />
</head>
<body className="root-body">
<MyContext.Provider value="bonjour!">
<Header />
</MyContext.Provider>
{children}
<ScrollRestoration />
<Scripts />
<LiveReload />
<Footer />
</body>
</html>
);
}
export default function App() {
return (
<Document>
<Outlet />
</Document>
);
}
在我的<Header/> 组件中,我有:
import { useContext } from "react";
import { MyContext } from "~/root";
export const Header = () => {
const result = useContext(MyContext);
console.log(result);
return(null)
}
结果是"default" 被打印到控制台,但根据我的理解肯定应该是"bonjour"?
我哪里错了?
【问题讨论】:
标签: reactjs typescript react-context remix.run