gpt4 book ai didi

javascript - 通过一个 ref 访问多个元素 React

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:52 24 4
gpt4 key购买 nike

我想使用 refs 功能访问多个元素。然后我可以遍历 this.tabs 的元素。下面的代码不起作用,如何修复它才能正常工作?我现在使用的解决方案是 document.querySelectorAll('tabs'),但它似乎不适合 React。

class Comp extends React.Component {
constructor(props) {
super(props);

this.tabs = React.createRef();
}

componentDidMount() {
console.log(this.tabs);
}


render() {
return (
<div>
<span class="tab" ref={this.tabs}>One</span>
<span class="tab" ref={this.tabs}>Two</span>
<span class="tab" ref={this.tabs}>Three</span>
</div>
);
}
}

ReactDOM.render(
<Comp />,
document.getElementById('app')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>

最佳答案

您分配 refs 的方式不正确。在 render() 方法的开头执行:

this.tabs = []

refs 将通过

分配
<span className="tab" ref={(tab) => { this.tabs.push(tab) }}>One</span>

我希望你能在这个案例中调用this.tabs!

关于javascript - 通过一个 ref 访问多个元素 React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50253022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com