在数组中映射嵌套数据对象



我有以下来自JSON的数据,我需要在应用程序的前端呈现:

JSON in Redux Slice

{
"documentGenerated": [
{
"documents": 
{
"documentName": "string",
"documentStoreId": {{faker 'random.number'}},
"documentTitle": "string"
}
,
"groupName": "string",
"groupId": {{faker 'random.number'}}
}
],
}

控制台日志正确地从我导入到组件中的redux片返回数据,但是,当我尝试映射数据时,它返回以下错误:

误差

TypeError: e.documents.map is not a function at line 63

对应于组件中的这行代码:

docGenerated.documents.map((document, documentStoreId) => (

最后,我是这样在组件中映射数据的:

<<p>组件/strong>
const documentGenerated = useSelector(selectDocumentGenerated);
<Card
type="default"
title={(
<div>
{documentGenerated.map((docGenerated) =>
docGenerated.documents.map((document) => (
<div>
<p key={{ documentStoreId }}>{document.documentName}</p>
</div>
)),
)}
</div>
)}
/>

我不确定我到底做错了什么,但我看了看这个例子从S/O: React -如何映射嵌套的对象值?然而,我总是遇到同样的错误。我认为我没有在JSON中正确地映射documents对象。任何正确方向上的帮助都是非常感谢的。

你的代码docGenerated.documents.map(...)看起来不错,这似乎不是问题。

可能是您在示例redux状态切片中缺少documents周围的[]:

"documents": 
{
"documentName": "string",
"documentStoreId": {{faker 'random.number'}},
"documentTitle": "string"
},

如果是这种情况,你不能在documents.map,因为它是Object而不是Array

最新更新