我的linter警告我reducer
中的词汇范围错误,我将声明从switch
语句中移出,如下所示:
export function eventsForMonth(state = {}, action) {
const { events: {}, day: {} } = action.data;
const newItems = {};
switch (action.type) {
case "EVENTS_MONTH":
Object.keys(events).map(event => {
newItems[event] = [...events[event].dots];
});
for (let i = -15; i < 85; i++) {
const time = day.timestamp + i * 24 * 60 * 60 * 1000;
const strTime = timeToString(time);
if (!newItems[strTime]) {
newItems[strTime] = [];
}
}
return {
...newItems
};
case "EVENTS_CALENDAR_MONTH":
// ...
但是,现在我收到一个错误:无法读取未定义的属性事件。如何在events
之外声明我的switch
而不会收到错误?