【发布时间】:2020-03-24 03:12:58
【问题描述】:
我正在通过一个数组进行映射,我希望我的变量 i 用作我的组件的唯一键,但是我不知道如何(或在哪里)正确递增它,如果我添加一个 @987654322 @ 在<Component> 标签内,然后它将在屏幕上显示i 的值,如果我添加{this.function(i)} 并将i++ 放在函数内,它将调用函数,但变量i 将每次都重新初始化为0 的值,所以键值不会是唯一的。我需要 i 的值作为组件的键,并且每次都必须递增 1,有人知道我该如何实现吗?此外,正如您在代码中看到的那样,当组件被单击时,它会进行函数调用,该函数调用会将被单击组件的i 的值作为参数发送给被调用的函数。
代码:
function(i) {
console.log(i)
}
render() {
var i = 0;
var {array} = this.state;
return (
<div className="App">
{array.map(item => (
<Component key={i} onClick={(e) => this.function(i, e)}>
<p>{item.name}</p>
</Component>
))}
</div>
);
}
【问题讨论】:
标签: javascript arrays reactjs jsx