react
runtime_error
ai_generated
true
类型错误:无法读取 undefined 的属性(读取 'value')在访问 context 时
TypeError: Cannot read properties of undefined (reading 'value') when accessing context
ID: react/context-value-undefined-in-provider
94%修复率
87%置信度
1证据数
2023-05-18首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| React 18.2.0 | active | — | — | — |
| React 17.0.2 | active | — | — | — |
根因分析
一个组件使用 useContext 消费 context,但相应的 Provider 缺失,或者 Provider 没有提供 'value' prop,导致 context 值为 undefined。
English
A component consumes a context using useContext but the corresponding Provider is missing, or the Provider does not supply a 'value' prop, resulting in undefined context value.
官方文档
https://react.dev/reference/react/useContext#providing-context解决方案
-
Ensure the component consuming the context is wrapped in the corresponding Provider component with a 'value' prop.
-
Add a null/undefined check before accessing properties on the context value to provide a fallback UI or default value.
无效尝试
常见但无效的做法:
-
60% 失败
If the consumer tries to access nested properties that aren't in the default value, it still throws undefined errors.
-
75% 失败
Even if the Provider is present, importing a different context instance means the consumer doesn't see the provided value.