我正在使用useContext从MongoDB中获取文档。
我知道我的应用需要花费一些时间来获取数据,将其保存为状态,然后将上下文传递给子级。
我的问题是-如何处理获取和呈现之间的时间而不会引发错误。
以下是一些示例代码,其中projects
是来自useContext
的数据:
父母
<Container>
<div className={classes.cardsContainer}>
{projects.length > 0 && projects.map((project) => <ProjectCard key={project._id} project={project} />)}
</div>
</Container>
我在projects
上绘制地图,并将它们作为道具传递给<ProjectCard />
。
但是如果我尝试在孩子中渲染project.projectName
(这是对象中的属性),则在孩子中。
如果我console.log(project.projectName)
的孩子,我得到错误TypeError: Cannot read property 'projectName' of undefined
。
我知道我可以使用project && project.projectName
解决此问题,但是有更好的方法吗?
必须有一种更优雅的方法来执行此操作,这样我每次想使用上下文时都不会object && object.property
。