Reactjs React-useContext返回未定义

Reactjs React-useContext返回未定义,reactjs,use-context,Reactjs,Use Context,我试图使用React上下文来管理项目中的状态,但我似乎无法理解它返回未定义状态的原因。我从另一个我正在工作的项目中复制了这个例子,似乎一切都应该正常工作。我似乎无法确定为什么不是 这里是我创建上下文的地方 import React,{useState}来自“React”; 常量initialTodos=[ { id:1, 标题:“设置开发环境”, 完成:对, }, { id:2, 标题:“开发网站并添加内容”, 已完成:错误, }, { id:3, 标题:“部署到实时服务器”, 已完成:错误,

我试图使用React上下文来管理项目中的状态,但我似乎无法理解它返回未定义状态的原因。我从另一个我正在工作的项目中复制了这个例子,似乎一切都应该正常工作。我似乎无法确定为什么不是

这里是我创建上下文的地方

import React,{useState}来自“React”;
常量initialTodos=[
{
id:1,
标题:“设置开发环境”,
完成:对,
},
{
id:2,
标题:“开发网站并添加内容”,
已完成:错误,
},
{
id:3,
标题:“部署到实时服务器”,
已完成:错误,
},
];
export const TodoContext=React.createContext({
待办事项:初始待办事项,
onChange:()=>{},
});
const TodoContextProvider=(道具)=>{
const[todos,setTodos]=useState(initialTodos);
常量handleChange=()=>{
控制台日志(“单击”);
};
返回(
{props.children}
);
};

将默认值导出到DoContextProvider
您正在将
TodoContext
作为默认导入导入,但它必须是命名导入

更改
todoList.js

import TodoContext from "../context/TodoContext";
致:


它会起作用

你能把你的代码发布到codesandbox.io吗?调试它更容易(可运行环境)是的,同意@Boykov。我把所有这些都放在我的机器上,效果很好。我猜您的导入或未显示的代码出了问题。此代码有效,我没有得到任何结果error@Boykov给你。它在todoList.js中显示了一个错误:就是这样!我在TodoItem.js中也做了同样的操作。非常感谢。
import { TodoContext } from "../context/TodoContext";