gpt4 book ai didi

javascript - 为什么它返回不同的结果? (es6箭头函数)

转载 作者:行者123 更新时间:2023-12-01 00:08:38 24 4
gpt4 key购买 nike

我正在尝试将一些数据推送到 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com