我正在尝试将一些数据推送到Firebase上。
这是我在App.js中的handleSubmit函数
handleSubmit = e => {
e.preventDefault();
const note = {
title: this.state.title,
body: this.state.body
};
this.props.saveNotes(note);
this.setState({
title: "",
body: ""
});
};
这是我的saveNote函数,效果很好。
function saveNotes(note) {
database.push(note);
}
我不知道为什么像这样使用箭头功能无法推送到数据库
function saveNotes(note) {
return () => database.push(note);
}
最佳答案
如果您想关注以下工作:
function saveNotes(note) {
return () => database.push(note);
}
那么您应该这样调用
saveNotes(note)
。this.props.saveNotes(note)();
要么
const arrowFunction = this.props.saveNotes(note);
arrowFunction();
因为您返回的是对函数的引用,而不是函数的结果
请参考指南IIEF
但这听起来不适合这里,因为您可以这样简单地调用:
const saveNotes = (note) => database.push(note);
关于javascript - 为什么它返回不同的结果? (ES6箭头功能),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60201827/