在 React 中使用循环创建 ref 可能不是一件很容易的事情,因为 refs 是直接与 DOM 元素相关联的特殊对象。但是,可以通过使用数组和闭包来解决这个问题。
代码如下所示:
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.myRefs = [];
for (let i = 0; i < props.numElements; i++) {
this.myRefs[i] = React.createRef();
componentDidMount() {
this.myRefs.forEach(ref => {
console.log(ref.current);
render() {
return (
{Array.from({ length: this.props.numElements }, (_, i) => (
<div key={i} ref={this.myRefs[i]}>
Element {i}
</div>
</div>
以上代码示例将在组件加载后输出所有元素的 ref。