2

嗨,我需要在每月更改的日历上更新多点

它似乎只在调试模式下工作。该文件说标记的日期对象是不可变的。如何刷新新的标记日期对象上的日历

const [calenderDots, setCalenderDots] = useState({});

const pins = [
  { key: 'medication', color: 'green' },
  { key: 'doctorNote', color: 'red' },
];

const formatDots = (data) => {
  return data.reduce((initial, current) => {
    return Object.assign(initialValue, { [data?.date]: { dots: pins } });
  });
};

const fetchMonthlyData = async (date) => {
  const response = await fetchData(date);
  setCalenderDots(formatDots(response));
};

return <Calendar onMonthChange={fetchMonthlyData} markedDates={calenderDots} />;

关于这个问题的任何想法。我找不到更好的解决方案。请帮忙

我正面临这个问题

4

1 回答 1

0

由于标记的日期对我不起作用。我已经使用渲染日道具来实现每天下的点

return <Calendar 
         onMonthChange={fetchMonthlyData} 
         //markedDates={calenderDots}
         dayComponent={({date})=><CustomDotsComponent date={date} />}
         />;

//dots <Text>&bull;</Text>
于 2021-09-29T03:37:51.230 回答