我疯了吗?
我有两个功能:
export const timeblocks = (data) => {
const res = data.map((d) => timeblock(d));
console.log("tbs res[0].start", res[0].start);
console.log("tbs res", res);
return res;
}
export const timeblock = (data) => {
const res = {
id: data.id,
start: moment(data.start),
end: moment(data.end),
duration: moment.duration(data.duration),
timezone: data.timezone,
};
// return Object.freeze(res);
console.log("tb res.start", res.start);
console.log("tb res", res);
return res;
}
我正在像这样传递数据:timeblocks(sampleData)
:
sampleData = [
{
"id": 1010,
"start": "2019-11-21T05:00:00Z",
"end": "2019-11-21T05:30:00Z",
"duration": "00:30:00",
"timezone": "UTC"
},
{
"id": 1052,
"start": "2019-11-21T05:00:00Z",
"end": "2019-11-21T06:00:00Z",
"duration": "01:00:00",
"timezone": "UTC"
}
]
在我的React应用程序中,start
和end
键抛出TypeError未定义。
但是,我也得到了:
Object.freeze 可行,但是为什么将值转换为undefined?
我不知道这是moment.js还是JS。
答案 0 :(得分:0)
下游发生了一些改变,我的开始和结束值。由于生成的对象是可变的,因此这两个值将被设置为undefined。我发现这是在将结果值传递到redux动作之前进行记录的。感谢@VLAZ的建议