javascript - 在返回函数反应js中的不同标签处动态呈现数组
问题描述
我正在尝试使用以下代码在页面中的返回函数中的不同位置呈现数组中的值
return (
<div style={{ margin: 30 }}>
<div className="form-group form-inline">
<label style={{ display: 'margin-right:10px' }}>
Section:</label> {requestDatasource[0].section}
</div>
<div className="form-group form-inline">
<label style={{ display: 'margin-right:10px' }}>Type: </label> {requestDatasource[0].type}
</div>
<div className="form-group form-inline">
<label style={{ display: 'margin-right:10px' }}>
Requested By :
</label> {requestDatasource[0].createdBy}
</div>
<div className="form-group form-inline">
<label style={{ display: 'margin-right:10px' }}>Requested Date: </label>
{requestDatasource[0].createat}
</div>
</div>
);
我正在用下面这样的值填充数组
if (requestData != null) {
requestData.allRequests.map((code) => {
requestDatasource.push({
id: code.id,
section: code.masterSection.name,
createdBy: code.createdBy,
type: code.requestType.name,
status: code.requestStage.name,
createat: new Date(code.createdAt),
});
return null;
});
}
但不知何故我收到了这个错误
`Objects are not valid as a React child. If you meant to render a collection of children, use an array instead.`
我不确定这段代码哪里出错了,任何人都可以让我知道上述代码在返回方法中会出现什么问题。
PS:我正在使用 react js 功能组件
提前致谢
解决方案
requestDatasource[0].section
,requestDatasource[0].type
和/或的值是否可能requestDatasource[0].createdBy
是对象?我首先会仔细检查这些值是否符合您的期望。
有点不相关,但我认为您可以map
以更好的方式使用,或将其更改为forEach
. 您现在使用它的方式是说,“对于 中的每个值requestData.allRequests
,将一个新对象推送到requestDatasource
。” 你回来null
的事实证明你不需要map
. 如果您更改map
为forEach
,您可以删除return null
并轻松获胜。
也就是说,我认为您使用的直觉map
可能是正确的。而不是push
外部的requestDatasource
,也许您可以使用 , 生成新的数据结构map
,并在那里创建requestDatasource
:
const requestDatasource = requestData.allRequests.map(code => {
return {
id: code.id,
section: code.masterSection.name,
createdBy: code.createdBy,
type: code.requestType.name,
status: code.requestStage.name,
createdAt: new Date(code.createdAt)
};
});
推荐阅读
- javascript - 如何使用 JQuery 制作显示动态图像放大版本的弹出框?
- visual-studio - 是否还有适用于 Visual Studio 2013 Update 5 的有效 Web 安装程序?
- javascript - e.preventDefault() 不是 Reactjs 中的函数,使用了绑定
- r - 如何跨两个不同的数据框列表进行计算?
- javascript - 同时启用 redux-promise 和 redux-saga 中间件似乎会导致问题
- javascript - 在不刷新页面的情况下显示更改的 localStorage?
- ios - SwiftUI List 仅使用给定数组的第一项
- python - 如果第一行中的字符串符合标准,第二行符合其他标准,则
- azure - 我们是否可以更改 Azure 门户中的设置,以便在 Azure ASR 中故障转移后创建的 VM 具有高级磁盘类型?
- c# - 如何将多行文本添加到 ListBox 项?