【发布时间】:2019-12-20 03:13:19
【问题描述】:
我在 ant 中有一张桌子。表列具有用户 ID。我正在使用一个函数来获取 id 并查找用户名。由于某种原因,react 不断地调用该函数。
在渲染函数中我定义了表格列:
const columns = [
{
title: "Members",
width: "200px",
dataIndex: "members",
key: "members",
render: members => this.getMemberAvatars(members)
},
这里是被调用的函数:
getMemberAvatars(members) {
let membersAvatars = [];
members.forEach(userId => {
db.collection("users")
.doc(userId)
.get()
.then(doc => membersAvatars.push(doc.data().displayName));
});
console.log("getMemberAvatars is running");
return members;
}
在控制台中(连续):
"getMemberAvatars is running"
它一遍又一遍地运行。我什至尝试了一个简单的函数,它只返回一个 console.log - 同样的事情。出于某种原因,我在“渲染:”中的函数被一遍又一遍地调用,而不是只调用一次。
【问题讨论】:
-
连续是什么意思?
-
意思是,函数一遍遍地运行。我在上面澄清了。