我正在遍历一个数组,并为每个条目显示一个带文本的按钮。假设我想要在点击按钮时,下方的文本将变成红色。如何定位按钮的兄弟元素?我尝试使用ref,但由于这是映射的JSX,只有最后一个ref元素将被声明。
这是我的代码:
提前致谢。
这是我的代码:
class Exams extends React.Component {
constructor(props) {
super()
this.accordionContent = null;
}
state = {
examsNames: null, // fetched from a server
}
accordionToggle = () => {
this.accordionContent.style.color = 'red'
}
render() {
return (
<div className="container">
{this.state.examsNames && this.state.examsNames.map((inst, key) => (
<React.Fragment key={key}>
<button onClick={this.accordionToggle} className="inst-link"></button>
<div ref={accordionContent => this.accordionContent = accordionContent} className="accordionContent">
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aperiam, neque.</p>
</div>
</React.Fragment>
))}
</div>
)
}
}
export default Exams;
如上所述,结果是每次按钮被点击时,将针对最后一个按钮附加的段落进行操作。提前致谢。
this.accordionContent
作为一个数组。 - Prakash Sharma