Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自React UseContext的数据在一段时间内未定义 const[districtData]=useContext(DistrictDataContext); console.log(districtData)//未定义则可用 返回( {" "} {districtData.map(函数(项){//undefined}} );_Javascript_Reactjs_React Context - Fatal编程技术网

Javascript 来自React UseContext的数据在一段时间内未定义 const[districtData]=useContext(DistrictDataContext); console.log(districtData)//未定义则可用 返回( {" "} {districtData.map(函数(项){//undefined}} );

Javascript 来自React UseContext的数据在一段时间内未定义 const[districtData]=useContext(DistrictDataContext); console.log(districtData)//未定义则可用 返回( {" "} {districtData.map(函数(项){//undefined}} );,javascript,reactjs,react-context,Javascript,Reactjs,React Context,尝试console.log时,我的react上下文数据有一段时间未定义。但它在短时间后会记录,但此时我的映射高阶函数已失败。我不知道如何处理这件事。我曾考虑使用useffect,但useffect已应用于上下文提供程序中的,以便在组件上运行。 我试图通过检查districtData是否可用来解决此问题,首先如下所示: {districtData && districtData.map(function (item) { return <MarkerComponent det

尝试console.log时,我的react上下文数据有一段时间未定义。但它在短时间后会记录,但此时我的
映射高阶函数已失败。我不知道如何处理这件事。我曾考虑使用
useffect
,但useffect已应用于
上下文提供程序中的,以便在组件上运行。
我试图通过检查
districtData
是否可用来解决此问题,首先如下所示:

{districtData && districtData.map(function (item) {
return <MarkerComponent details={item} />;
})}
{districtData&&districtData.map(函数(项){
返回;
})}
这给了
一个预期的赋值或函数调用,而看到了一个表达式no unused expressions
,这很奇怪,因为它为什么预期赋值编辑这是因为我没有在map函数中返回。但数据仍然没有发送。 为什么console.log一开始没有定义。那会引起问题吗

{districtData && districtData.map(function (item) {
return <MarkerComponent details={item} />;
})}
应为赋值或函数调用,而不是看到表达式没有未使用的表达式
将带括号消失:

{(districtData || []).map(function (item) {
return (<MarkerComponent details={item} />);
})}
{(districtData | |[]).map(函数(项){
返回();
})}

您在哪里设置上下文?注意:在装入所有子级之前,不会装入父级,因此可能存在生命周期问题。因此,您可能需要返回,直到未定义districtData为止-如果您对itI有依赖关系,请在
App
组件中设置我的上下文,如So
function App(){return();}
使用lodash函数检查数据是否存在或定义,请尝试此
{.isNull(districtData)&&districtData.length&&districtData.map(函数(项){return;})}
{(districtData || []).map(function (item) {
return (<MarkerComponent details={item} />);
})}