【发布时间】:2021-07-19 18:26:07
【问题描述】:
下面是我正在处理的组件:
//PURPOSE : Component to show some useful information about the current page. like LAST REFRESH TIME OF DATA.
//Props that needs to be passed. - {MessageTitle}
//
import React, { useEffect, useState } from "react";
import "../../css/BubbleInfoComponent.scss";
import ApiHelper from "../../api/ApiHelper";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
const BubbleInfoComponent = (props) => {
let [Info, setInfo] = useState({});
function onClicko() {
console.log("Handling Click");
}
useEffect(() => {
getData();
// eslint-disable-next-line
}, [Info]);
function getData() {
ApiHelper.GetLastRefreshTime(props.uid).then((response) => {
// const infoData = response.data.map(({sysName, lastRefreshTime}) =>{
// return (sysName ? <div key={sysName}>`{sysName}:{lastRefreshTime}`</div>): <div>{lastRefreshTime}</div>;
// })
// setInfo(infoData);
// console.log("infoData:- ")
// console.log(infoData);
});
}
return (
<>
<div id="Bubble__Circle" onClick={onClicko}>
<p>
<FontAwesomeIcon icon="info" color="#30343f" />
</p>
</div>
<div id="Bubble__Content">
<div id="Bubble__Content_Msg_Title">{props.MessageTitle}</div>
{/* <div id="Bubble__Content_Msg_Title">{Info}</div> */}
</div>
</>
);
};
export default BubbleInfoComponent;
我会得到两种 JSON 响应:
- { “系统A”:“07-04-2021 08:00”, "系统 B": "07-04-2021 08:00", “系统C”:“07-04-2021 08:00” }
- {“回复”:“07-04-2021 08:00”}
我想要实现的是第一种类型的响应,我想以"Key": "Value" 格式设置Info 的值,并且对于第二种类型的响应,只有时间应该是可见的。
我希望我的观点很清楚。我知道我在 line21 中解构时做错了,这可能看起来很傻,但作为 JavaScript 的新手,我无法确定我哪里出错了。
【问题讨论】:
-
我的错..我已经更正了
-
感谢您的纠正。
-
您列出的两种响应是来自 GetLastRefreshTime 还是您想要转换的响应?
-
@UdenduAbasili 两种类型的响应都来自 GetLastRefreshTime。
-
那么到底发生了什么错误?我可以解构它,但由于我无法确切知道第 21 行来自您的 sn-p,所以我想知道错误。根据您的回复,您的 sysName 未定义。我知道 SystemA 是您的 sysName,但它在您的对象中没有被称为 sysName
标签: javascript json reactjs object