React动态创建绑定多个ref
时间: 2023-06-13 20:03:45 浏览: 294
在 React 中,可以使用 `createRef()` 来创建一个 ref 对象,并将其绑定到组件的 DOM 元素上。但是,如果需要动态地创建并绑定多个 ref,可以使用一个对象来存储这些 ref,然后使用 `Object.keys()` 和 `Array.map()` 方法将它们映射到组件的 DOM 元素上。
例如,假设需要动态地创建并绑定 `n` 个 ref,可以使用如下代码:
```jsx
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.refs = {};
for (let i = 0; i < n; i++) {
this.refs[i] = React.createRef();
}
}
render() {
return (
<div>
{Object.keys(this.refs).map((key) => (
<input key={key} ref={this.refs[key]} />
))}
</div>
);
}
}
```
在上面的代码中,首先在构造函数中创建一个空对象 `this.refs`,然后使用 `for` 循环动态地创建 `n` 个 ref,并将它们存储在 `this.refs` 对象中。在 `render()` 方法中,使用 `Object.keys()` 方法将 `this.refs` 对象的属性名映射到一个数组中,并使用 `Array.map()` 方法将它们渲染为一组输入框,每个输入框绑定一个对应的 ref。
这样,就可以动态地创建和绑定多个 ref 了。
阅读全文