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

Javascript 如何从api动态填充日历标记日期-React Native,redux,javascript,reactjs,react-native,api,redux,Javascript,Reactjs,React Native,Api,Redux,正如标题所说,我需要在日历组件中填充从API获得的标记日期(我使用的是“react native calendars”:“^1.403.0”) 以下是完整的代码: const CalendarScreen = (props) => { const dispatch = useDispatch(); const access_token = useSelector((state) => state.auth.token); const calendar = useSel

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

以下是完整的代码:

  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=(道具)=>{
const dispatch=usedpatch();
const access_token=useSelector((state)=>state.auth.token);
const calendar=useSelector((state)=>state.calendarClasses.calendar);
常量isCalendarLoading=useSelector(
(state)=>state.calendarClasses.isCalendarLoading
);
const obj=Object.fromEntries(calendar.map((item)=>[“date”,item.date]);
let day=JSON.stringify(obj.date);
useffect(()=>{
调度(loadCalendar());
调度(getCalendar(访问令牌,childId));
},[dispatch,getCalendar]);
返回(
每个建议都很好。谢谢解决方案:

 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 }
        ...
    />
}
const CalendarScreen=(道具)=>{
const dispatch=usedpatch();
const access_token=useSelector((state)=>state.auth.token);
const calendar=useSelector((state)=>state.calendarClasses.calendar);
常量isCalendarLoading=useSelector(
(state)=>state.calendarClasses.isCalendarLoading
);
useffect(()=>{
调度(loadCalendar());
调度(getCalendar(访问令牌,childId));
},[dispatch,getCalendar]);
设markedDay={};
日历地图((项目)=>{
markedDay[项目日期]={
选择:正确,
马克:是的,
selectedColor:“紫色”,
};
});
返回(
}
注意在组件Calendar-markedDates={}中,markedDates必须与single{}一起使用,因为markedDay是对象。所以不能像文档中那样进行设置,因为这类似于markedDates={{{{}}

  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 }
        ...
    />
}