Javascript 如何从api动态填充日历标记日期-React Native,redux
正如标题所说,我需要在日历组件中填充从API获得的标记日期(我使用的是“react native calendars”:“^1.403.0”) 以下是完整的代码: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
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 }
...
/>
}