You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中useContext报错:TypeError: 无法读取undefined的'name'属性求助

React useContext 报错:Cannot read properties of undefined (reading 'name') 解决方法

问题根源

你自定义的Provider组件没有接收并渲染children属性,导致被<Provider>包裹的<Contx>组件并没有纳入Info.Provider的上下文作用域中。此时useContext(Info)获取到的是createContext()的默认值(undefined),访问hi.name自然会抛出类型错误。

修复步骤

只需要修改Context.js文件,给自定义的Provider组件添加children参数,并在Info.Provider内部渲染该参数:

import { createContext } from "react";
    
const Info = createContext()
// 添加children参数
function Provider({ children }){
    const name = 'Arko'
    return(
        // 在Provider内部渲染children
        <Info.Provider value={{name}}>{children}</Info.Provider>
    )
}
export {Provider}
export default Info

验证说明

修改后,<Contx>组件会被正确纳入上下文作用域,useContext(Info)就能拿到你传递的{name: 'Arko'}对象,页面就能正常显示'Arko'了。你的Contx.js和App.js代码无需修改。

内容的提问来源于stack exchange,提问作者Arko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:29:55