gpt4 book ai didi

javascript - 如何从 api 动态填充日历标记的日期 - React Native,redux

转载 作者:行者123 更新时间:2023-12-05 00:35:32 24 4
gpt4 key购买 nike

正如标题所说,我需要填充从日历组件中的 API 获取的标记日期(我正在使用“react-native-calendars”:“^1.403.0”)。

enter code here : <Calendar
markedDates={{
"2020-09-15": { selected: true, marked: true, selectedColor: "blue" },
"2020-09-05": { selected: true, marked: true, selectedColor: "blue" },
}}/>
这工作正常,但我的问题是如何从 API 动态标记天数。这是我的代码
const 日历在我登录时返回
Array [
Object {
"course_id": 1,
"created_at": "2020-09-08T12:52:05.000000Z",
"date": "2020-09-25",
"description": "Amet quas nemo aliquid cupiditate libero deserunt et excepturi.",
"group_id": 1,
"homework": "Illo eveniet est et non molestiae ut ab atque.",
"id": 571,
"time_duration": 89,
"time_start": "14:49:37",
"title": "Ms.",
"updated_at": "2020-09-08T12:52:05.000000Z",
},
Object {
"course_id": 1,
"created_at": "2020-09-08T12:52:09.000000Z",
"date": "2020-09-30",
"description": "Earum similique molestiae sunt praesentium et ea iste deserunt.",
"group_id": 1,
"homework": "Autem aspernatur beatae in rerum rerum sit harum quis.",
"id": 831,
"time_duration": 89,
"time_start": "21:53:01",
"title": "Prof.",
"updated_at": "2020-09-08T12:52:09.000000Z",
},
]
这是整个代码:
  const CalendarScreen = (props) => {
const dispatch = useDispatch();
const access_token = useSelector((state) => state.auth.token);
const calendar = useSelector((state) => state.calendarClasses.calendar);
const isCalendarLoading = useSelector(
(state) => state.calendarClasses.isCalendarLoading
);

const obj = Object.fromEntries(calendar.map((item) => ["date", item.date]));

let day= JSON.stringify(obj.date);

useEffect(() => {
dispatch(loadCalendar());
dispatch(getCalendar(access_token, childId));
}, [dispatch, getCalendar]);


return (
<Calendar
markedDates={{
day: { selected: true, marked: true, selectedColor: "blue" },

}}
/>
每个建议都会很好。谢谢

最佳答案

解决方案:

 const CalendarScreen = (props) => {
const dispatch = useDispatch();
const access_token = useSelector((state) => state.auth.token);
const calendar = useSelector((state) => state.calendarClasses.calendar);
const isCalendarLoading = useSelector(
(state) => state.calendarClasses.isCalendarLoading
);

useEffect(() => {
dispatch(loadCalendar());
dispatch(getCalendar(access_token, childId));
}, [dispatch, getCalendar]);

let markedDay = {};

calendar.map((item) => {
markedDay[item.date] = {
selected: true,
marked: true,
selectedColor: "purple",
};
});


return (
<Calendar markedDates={ markedDay }
...
/>
}
注意组件 Calendar -markedDates = { } ,markedDates 必须在单个 {} 中,因为markedDay 是对象。所以你不能像在文档中那样设置 因为这就像markedDates= {{{ }}}。

关于javascript - 如何从 api 动态填充日历标记的日期 - React Native,redux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64044386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com