首页 > 解决方案 > 如何将“=>”提取到函数模型

问题描述

我在这里比较新鲜,尝试开始将 => 用于函数,并且不能完全理解此代码中函数的内部部分。它确实有效,是我自己写的,但只是想完全理解如何以及为什么。

是否有任何其他形式可以以不同的“形状”编写完全相同的代码?

我了解第一个函数如何提取到:

function deleteNote(NoteID) {
 ...
}

但无法弄清楚内部是如何工作的。

const deleteNote = noteID => {
        setNote(existingNotes => { return existingNotes.filter((note) => note.id !== noteID);
        })
}

结果很好,只是想澄清发生了什么...... :)

标签: reactjsreact-native

解决方案


简而言之,这都可以翻译为:

const deleteNote = function(noteId) {
  setNote(function(existingNotes) {
    return existingNotes.filter(function(note) { 
      return note.id !== noteID;
    });
  });
};

如果您将后面的部分包裹=>在花括号{}中,那么您需要一个 return 语句来返回一些东西,例如:

setNote(existingNotes => {
  return ...;
})

如果您不将其包裹在大括号中,那么您在箭头之后放置的内容就是将返回的内容,例如:

 existingNotes.filter((note) => note.id !== noteID);

看看这篇短文


推荐阅读