javascript - 如何调用对象的辅助函数?
问题描述
我有一个对象,其中有帮助函数,可以根据时间安排通知。在用户按下按钮安排通知后,我在 redux 操作中调用该函数。
我收到错误“未定义不是对象(评估_'ScheduleNotification.default.startReminder')”
我尝试在按钮按下以及在操作中调用它,但两次都收到相同的错误。
我的日程通知对象-
export const scheduleNotification = {
startReminder: {
async function(item) {
const permission = await registerForPushNotificationsAsync();
if (permission) {
Notifications.scheduleLocalNotificationAsync(
{
title: 'Reminder:',
body: `${item.text} now`
},
{
time: item.date
}
);
} else {
console.log('cannot send notification without permission.');
}
}
},
}
然后是我调用函数的动作-
export const startReminder = (item) => {
return (dispatch) => {
dispatch({
type: START_REMINDER,
id: item.id
});
scheduleNotification.startReminder(item);
};
};
我按下按钮的第二次没有安排通知,而是出现了错误消息。如果需要,我可以提供更多代码。谢谢您的帮助。
解决方案
您已经创建了scheduleNotification.startReminder
一个具有一个属性的对象 - 一个未命名的函数。您的代码中有太多花括号。你想要的可能是这样的:
export const scheduleNotification = {
async startReminder(item) {
const permission = await registerForPushNotificationsAsync();
if (permission) {
Notifications.scheduleLocalNotificationAsync({
title: 'Reminder:',
body: `${item.text} now`
}, {
time: item.date
});
} else {
console.log('cannot send notification without permission.');
}
},
}