【发布时间】:2020-12-25 16:52:51
【问题描述】:
我通常总是写一个箭头函数,当我需要它是多行的时,我会写“{}”。但是,我正在看一个教程,其中,他正在编写这个 useEffect 函数:
useEffect(() => {
if (chatId) {
db.collection("chats")
.doc(chatId)
.collection("messages")
.orderBy("timestamp", "desc")
.onSnapshot(snapshot => (
setMessages(snapshot.docs.map(doc=>({
id:doc.id,
data:doc.data()
})))
));
}
}, []);
注意“快照”之后他有“=>(”而不是“=> {”还有snapshot.docs.map(doc=>({其中有一个“({”而不仅仅是一个“{”)。有人帮助我了解我在这里缺少什么?
【问题讨论】:
-
当你的箭头函数返回一个对象字面量时,你需要将它用括号括起来,以便编译器可以将它与函数区分开来。
-
在documentation 中解释,这通常是最好的起点
标签: javascript reactjs syntax arrow-functions