"TypeError object undefined" 使用 useContext 时发生
"TypeError object undefined" happening when using useContext
我正在测试 useContext
,但我收到一个错误,我不明白如何修复它,应用程序的想法是每次使用 useContext
创建一个计数器按下按钮计数器加一。
我创建了一个计数器组件:
import { useContext } from "react";
import { CountContext } from "../../context/Count";
export const Counter = () => {
const { count, setCount } = useContext(CountContext);
return (
<h2>Counter: {count}</h2>
// <button
// onClick={() => {
// setCount(count + 1);
// }}
// >
// Count + 1
// </button>
);
};
这正在调用以下上下文:
import { createContext, useState } from "react";
export const CountContext = createContext();
export default function CountProvider({ children }) {
const [count, setCount] = useState(0);
return (
<CountContext.Provider value={{ count, setCount }}>
{children}
</CountContext.Provider>
);
}
我收到以下错误:
我不知道是什么导致了错误,我制作了一个 codesandbox 来显示问题:https://codesandbox.io/s/usecontext-error-mwgwt?file=/src/components/counter/index.js
您还没有将 Counter
组件包装在 CountProvider
中。
您的 App.js
应如下所示:
import { Counter } from "./components/counter";
import CountProvider from "./context/Count";
import "./styles.css";
export default function App() {
return (
<CountProvider>
<Counter />
</CountProvider>
);
}
我正在测试 useContext
,但我收到一个错误,我不明白如何修复它,应用程序的想法是每次使用 useContext
创建一个计数器按下按钮计数器加一。
我创建了一个计数器组件:
import { useContext } from "react";
import { CountContext } from "../../context/Count";
export const Counter = () => {
const { count, setCount } = useContext(CountContext);
return (
<h2>Counter: {count}</h2>
// <button
// onClick={() => {
// setCount(count + 1);
// }}
// >
// Count + 1
// </button>
);
};
这正在调用以下上下文:
import { createContext, useState } from "react";
export const CountContext = createContext();
export default function CountProvider({ children }) {
const [count, setCount] = useState(0);
return (
<CountContext.Provider value={{ count, setCount }}>
{children}
</CountContext.Provider>
);
}
我收到以下错误:
我不知道是什么导致了错误,我制作了一个 codesandbox 来显示问题:https://codesandbox.io/s/usecontext-error-mwgwt?file=/src/components/counter/index.js
您还没有将 Counter
组件包装在 CountProvider
中。
您的 App.js
应如下所示:
import { Counter } from "./components/counter";
import CountProvider from "./context/Count";
import "./styles.css";
export default function App() {
return (
<CountProvider>
<Counter />
</CountProvider>
);
}