【发布时间】:2020-07-27 08:51:00
【问题描述】:
我有一个 JSON 文件,延迟时间以秒为单位在这样的对象中设置:
"delay": 420,
当我在 React 中立即映射对象时,json 数组中的所有 8 个项目都会返回每个对象的时间(即 300、420、60 等...)。
const DelayTailLbl = (props) => {
const [delayTailData, setDelayTailData] = useState(props.data);
return (
<div>
<div>
<span>{delayTailData.delay}</span>
</div>
</div>
);
};
export default DelayTailLbl;
现在我正在尝试使用 set minutes from moment 将秒转换为分钟,如文档中所示:https://momentjs.com/docs/#/get-set/minute/
import moment from 'moment'
const DelayTailLbl = (props) => {
const [delayTailData, setDelayTailData] = useState(props.data);
return (
<div>
<div>
<span>{moment(delayTailData.delay).format("mm")}</span>
</div>
</div>
);
};
export default DelayTailLbl;
当我添加时刻时,所有 8 个对象的时间都返回 00 分钟。如果我将时间更改为format("HH:mm:ss"),它将返回 00:00:00。
使用 moment 以秒为单位返回 JSON 数据的正确方法是什么?我不明白没有它为什么它会返回正确的数据,但是有了它,它什么也没有返回,
【问题讨论】:
-
您错过了链接中的这一部分:接受从 0 到 59 的数字。如果超出范围,它将冒泡到小时。
-
"delay": 420,这里的 420 是什么?分钟、秒、毫秒? -
420 秒 @palaѕн
-
@AnuragSrivastava 我尝试了
{moment(delayTailData.delay).minutes(59)}和其他数字,但如果我添加它,我的网络应用程序不会加载。
标签: javascript reactjs momentjs