reactjs - 一组循环中的多个回调引用
问题描述
更新:这是我认为为每个循环设置多个引用的正确方法。如果有另一种方法可以使用回调函数而不是这个,我会添加它。谢谢
class demo2 extends React.Component {
constructor(props) {
super(props);
this.elements = ["Alex", "Is", "A", "Psycho"];
this.inputRefs = [];
}
printName = (key) => {
alert(this.inputRefs[key].innerText);
}
render() {
return (
<div>
{this.elements.map((v, key) => {
return (
<div>
<p ref={ref => (this.inputRefs[key+'-name'] = ref)}>Name 1: {v}</p>
<p ref={ref => (this.inputRefs[key+'-name2'] = ref)}>Name 2: {v}</p>
<br></br>
<button onClick={() => this.printName(key+'-name')}> Alert name 1 </button>
<button onClick={() => this.printName(key+'-name2')}> Alert name 2 </button>
</div>
)
})}
</div>
)
}
解决方案
推荐阅读
- python - 使用 python re 编辑文本文件
- python - Python NumberGuess:控制台卡住了
- node.js - NodeInvocationException:由于错误,预渲染失败:错误:找不到模块“@angular/common/http”
- java - SQL 错误:“-”位置或附近的语法错误:43
- getstream-io - 如何将新闻提要与bubble.is平台集成以执行getstream的功能
- visual-studio - TFS 从文件夹创建分支并通过一次签入重命名
- azure - 在 Azure Cosmos DB 中执行存储过程时,如何获取消耗的 RU 数?
- video - Safari 11.1.2 将无法播放视频 django 应用程序
- junit - JUnit 在继续之前等待
- sql - 如何从记录中选择信息,以及之后没有出现的第一条记录