reactjs - 如何将“=>”提取到函数模型
问题描述
我在这里比较新鲜,尝试开始将 => 用于函数,并且不能完全理解此代码中函数的内部部分。它确实有效,是我自己写的,但只是想完全理解如何以及为什么。
是否有任何其他形式可以以不同的“形状”编写完全相同的代码?
我了解第一个函数如何提取到:
function deleteNote(NoteID) {
...
}
但无法弄清楚内部是如何工作的。
const deleteNote = noteID => {
setNote(existingNotes => { return existingNotes.filter((note) => note.id !== noteID);
})
}
结果很好,只是想澄清发生了什么...... :)
解决方案
简而言之,这都可以翻译为:
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);
看看这篇短文。
推荐阅读
- java - 如何使用 Java 在 MSSQL 中以“2016-01-01T19:33:15-05:00”格式插入日期时间?
- javascript - 如何用鼠标中键在后台打开新标签?
- python - 我正在尝试在 excel 列上设置条件,以使用 python openpyxl 从一张表获取一些数据到另一张 excel 表
- python - 连接 MySQL 时出现“KeyError: 0” (get_default_isolation_level)
- reactjs - 如果错误仍然存在,如何防止提交此表单?
- c - 如何标记文件内容?
- wordpress - 当它是顶级类别的一部分时,我想显示一条消息
- java - 在单元测试中注入不可变的配置属性
- javascript - 单击按钮时重置并重新启动动画
- node.js - npm start-react-app test 不创建描述的文件夹结构