我有以下来自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
。