我创建了一个全局上下文api,以从我的Firebase中提取所有数据,然后通过React Provider发送它们。但是我似乎无法映射正在接收的对象数组。
const Schedule = () => {
const config = useContext(ConfigContext);
return (
<>
<div id="ScheduleContainer" className="row">
<div className="col-sm-4">
<img
src={clock}
alt="clock"
title="clock|Icon made by flaticon author dmitri13"
></img>
</div>
{console.log(config.scheduleMap)}
<div className="col-sm-8">
{config.scheduleMap.map((data) => (
<h1>{data.Event}</h1>
))}
</div>
</div>
</>
);
};
我在控制台上记录的地方,可以看到数据。它显示如下:
但是当我尝试映射它时,出现以下错误, TypeError: Cannot read property 'map' of undefined
当我们收到这样的错误时,我们可能会以异步方式获取值。我们应该为我们的变量提供一个初始值,或者有条件地渲染它,或者同时提供这两者。
按照以下代码段可以解决您的问题。
{config.scheduleMap !== undefined ?
config.scheduleMap.map(data=>(
<h1>{data.Event}</h1>))
:
''
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句