Javascript 为什么可以';我不能在应用程序组件中使用MyContext吗? import React,{useContext}来自“React”; 从“/Context/MyContext”导入{ContextProvider,MyContext}; 导入“/styles.css”; 导出默认函数App(){ const value=useContext(MyContext); console.log(值); 返回( {value} ); } 如果我想使用应用程序组件上的useContext。我在应用程序组件上得到的值是未定义的,但所有其他组件的值都可以。所以,我想知道它背后的机制是什么。为什么我无法访问应用程序组件中的useContext。
ContextProvider将上下文中的值提供给它的所有子组件。您提供给应用程序的值来自您案例中ContextProvider的父组件,即应用程序。此时,您的提供程序尚未设置,您必须将应用程序包装到提供程序中才能访问上下文的值。换句话说,提供程序需要是应用程序的父级才能为其提供值,而不是相反,ContextProvider在您的上下文中为其所有子组件提供值。您提供给应用程序的值来自您案例中ContextProvider的父组件,即应用程序。此时,您的提供程序尚未设置,您必须将应用程序包装到提供程序中才能访问上下文的值。换句话说,提供程序需要是应用程序的父级,才能为其提供值,而不是相反您需要访问嵌套组件中的上下文。是提供者的子级的内容。在这里,您可以在Javascript 为什么可以';我不能在应用程序组件中使用MyContext吗? import React,{useContext}来自“React”; 从“/Context/MyContext”导入{ContextProvider,MyContext}; 导入“/styles.css”; 导出默认函数App(){ const value=useContext(MyContext); console.log(值); 返回( {value} ); } 如果我想使用应用程序组件上的useContext。我在应用程序组件上得到的值是未定义的,但所有其他组件的值都可以。所以,我想知道它背后的机制是什么。为什么我无法访问应用程序组件中的useContext。,javascript,reactjs,Javascript,Reactjs,ContextProvider将上下文中的值提供给它的所有子组件。您提供给应用程序的值来自您案例中ContextProvider的父组件,即应用程序。此时,您的提供程序尚未设置,您必须将应用程序包装到提供程序中才能访问上下文的值。换句话说,提供程序需要是应用程序的父级才能为其提供值,而不是相反,ContextProvider在您的上下文中为其所有子组件提供值。您提供给应用程序的值来自您案例中ContextProvider的父组件,即应用程序。此时,您的提供程序尚未设置,您必须将应用程序包装到提供
应用程序
中执行此操作,该应用程序是提供商的直接父级。您必须将应用程序
包装在上下文提供程序
中,才能访问其中的上下文。您需要访问嵌套组件中的上下文。是提供者的子级的内容。在这里,您可以在应用程序
中执行此操作,该应用程序是提供商的直接父级。您必须将应用程序
包装在上下文提供者
中,才能访问其中的上下文
import React, { useContext } from "react";
import { ContextProvider, MyContext } from "./Context/MyContext";
import "./styles.css";
export default function App() {
const value = useContext(MyContext);
console.log(value);
return (
<ContextProvider>
<div className="App">{value}</div>
</ContextProvider>
);
}