我们的代码当前有一个函数,可以在将对象保存到数据库时调用 toast 消息弹出窗口。
export function addAnimal(animalObject) {
return function(dispatch) {
showToastNotification(() => {
return addAnimal(animalObject);
}, dispatch);
};
}
function showToastNotification(handleToastSave, dispatch) {
return handleToastSave()
.then(() => {
showMessage("this was a success")(dispatch);
})
.catch(() => {
showMessage("Something went wrong!")(dispatch);
})
.finally(() => {
saveMode(false)(dispatch);
});
}
我的问题是我想将 message
字符串作为参数传递给 showToastNotification,如下所示:
export function addAnimal(animalObject) {
return function(dispatch) {
showToastNotification(("successfully added animal") => {
return addAnimal(animalObject);
}, dispatch);
};
}
function showToastNotification(message, handleToastSave, dispatch) {
return handleToastSave()
.then(() => {
showMessage(message)(dispatch);
})
.catch(() => {
showMessage("Something went wrong!")(dispatch);
})
.finally(() => {
saveMode(false)(dispatch);
});
}
这行不通。我不太熟悉这个函数中的粗箭头是如何工作的。是否可以将 prop 传递给 showToastNotification?
最佳答案
您将字符串放在回调参数所在的位置,而不是作为实际 showToastNotification 函数的第一个参数。只需将其移动到正确的位置即可:
showToastNotification("successfully added animal", () => {
return addAnimal(animalObject);
}, dispatch);
关于javascript - 如何在 Javascript 中的嵌套函数中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58226509/