对象作为 React 子级无效如果您要渲染子级集合,请改用数组
Posted
技术标签:
【中文标题】对象作为 React 子级无效如果您要渲染子级集合,请改用数组【英文标题】:Objects are not valid as a React child If you meant to render a collection of children, use an array instead 【发布时间】:2020-08-12 01:17:22 【问题描述】:当我将详细数据传递给 modal 以显示时,我收到此错误。实际上,该功能是当用户单击帖子时,会出现一个模态以显示显示详细信息的模态。我正在使用 react with redux 进行状态管理。这是我的代码
错误对象作为 React 子对象无效(找到:带有键 nid、title、content、noticeType、creationDate、updatedDate 的对象)。如果您打算渲染一组子项,请改用数组。
noticeModal.jsx
const ModalDialog = (open ,onClose, data) =>
return (
<Dialog style=width: '100%' maxWidth="sm" onClose=() => onClose() aria-labelledby="customized-dialog-title" open=open>
<DialogContent dividers>
<table style=width: '100%'>
<tr>
<TableRow title>No</TableRow>
<TableRow
>
data.nid</TableRow>
</tr>
<tr>
<TableRow title>Type</TableRow>
<TableRow>data.noticeType</TableRow>
</tr>
<tr>
<TableRow title>Title</TableRow>
<TableRow>data.title</TableRow>
</tr>
</table>
<br/>
通知.jsx
<ModalDialog
open=this.state.openDetailModal
onClose=this.closeDetailModal
data = this.props.noticeDetail
/>
【问题讨论】:
你能用console.log(data)
in ModalDialog
找出对象是什么吗?
【参考方案1】:
错误对象作为 React 子对象无效(找到:带键的对象 nid、标题、内容、noticeType、creationDate、updatedDate)。如果你 打算渲染一组子元素,请改用数组。
这通常是由渲染对象或数组引起的。
它可以很容易地复制。
<Component>data</Component>
但是,我在您的组件中没有看到任何此类事件。您确定您检查的是正确的组件吗?
【讨论】:
以上是关于对象作为 React 子级无效如果您要渲染子级集合,请改用数组的主要内容,如果未能解决你的问题,请参考以下文章
React 错误:对象作为 React 子级无效,如果您打算渲染子级集合,请改用数组
错误:对象无效作为React子级(Axios和openweathermap API)
对象作为 React 子级无效。如果您打算渲染一组孩子,请改用数组 - FlatList
尝试基于 AsyncStorage React-Native 渲染组件时,对象作为反应子级无效
对象作为 React 子对象无效(找到:带键的对象$$typeof,render)。如果您要渲染子对象的集合,请改用数组