如何在日历中呈现标记日期?

How rendering marked date in Calendar?

我在 react-native 应用程序中创建了一个日历,我想在我点击的日期周围显示一个蓝色圆圈。但我没有成功展示它。

这是我的代码:

 const [currentDate, setCurrentDate] = useState(moment()
     .utcOffset('+01:00')
     .format('YYYY-MM-DD'));
 const [dateLimited, setDateLimited] = useState(moment()
    .utcOffset('+01:00')
    .format('YYYY-MM-DD'));

return(
     <Calendar markedDates={{currentDate: {selected: true} }} style={{ width: wp('80%'), height: hp('30%') }} minDate={'2020-01-01'} maxDate={dateLimited} onDayPress={(day)=> setCurrentDate( moment(day.dateString).format('YYYY-MM-DD'))}></Calendar>
);

奇怪的是,当我像这样直接写日期时,它起作用了:

<Calendar markedDates={{'2020-04-28': {selected: true} }} style={{ width: wp('80%'), height: hp('30%') }} minDate={'2020-01-01'} maxDate={dateLimited} 
                onDayPress={(day)=> setCurrentDate( moment(day.dateString).format('YYYY-MM-DD'))}></Calendar>

如果我在 console.log currentDate 中显示,我得到了正确的日期:

2020-04-28

你能帮帮我吗?

提前致谢

查看此 SO 问题的第一条评论:JavaScript set object key by variable

要评估 currentDate 而不是仅将其用作键,您必须将方括号括起来:markedDates={[currentDate]: {selected: true}}