我使用react-native-calendars用于显示每月活动和每一天。我已经从API读取的数据的阵列,该值如下:
deliveryDates: Array(3)
0: {date: "2019-02-03", deliveryStatus: false, endingDay: false, startingDay: true}
1: {date: "2019-02-04", deliveryStatus: false, endingDay: false, startingDay: true}
2: {date: "2019-02-05", deliveryStatus: false, endingDay: false, startingDay: false}
日历库有一个名为markedDates
属性,因为它单独接受对象。
markedDates的实施例:
markedDates={
{
'2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}
}}
现在,我需要的是遍历从我的API的日期整个"'2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}"
。
所以,如果我有三个日期,它应该得到三个新功能三个日期的迭代如上显示。
但是,如何做foreach
属性中for
或markedDates
?因为它显示了所有的错误“:”和“”。我什么都试过。
请指导
你可以运行一个简单的reduce
得到markedDates
对象:
const deliveryDates = [{date:"2019-02-03",deliveryStatus:false,endingDay:false,startingDay:true},{date:"2019-02-04",deliveryStatus:false,endingDay:false,startingDay:true},{date:"2019-02-05",deliveryStatus:false,endingDay:false,startingDay:false}];
const markedDates = deliveryDates.reduce((acc, {date,endingDay,startingDay}) => {
acc[date] = {disabled: true, color: 'green', startingDay, endingDay};
return acc;
},{});
console.log(markedDates)