![](/img/trans.png)
[英]How to update react ref if child elements of ref.current change?
[英]How to traverse in nested elements of React ref
您好,我正在嘗試a
#header-nav
中獲取所有標簽
const HeaderNav = (props) => {
// setState
const $target = useRef(null);
const $component = $target.current.querySelectorAll('a');
return (
<nav id='header-nav' ref={$target}>
<div id='shortcuts'>
<a className='resources' href='#'>
<span>0</span>
<WidgetsIcon />
</a>
<a className='trash' href='#'>
<DeleteSweepIcon />
</a>
<a className='history' href='#'>
<RestoreIcon />
</a>
</div>
</nav>)}
但是在Ref.current
上運行querySelectorAll
不起作用
const $target = useRef(null);
const $component = $target.current.querySelectorAll('a');
它返回 null,可能是因為querySelectorAll
指的是尚未渲染的活動節點另外,因為我有很多標簽(比如 20 個),所以放置多個不同的 refs 並創建一個 refs 數組似乎不是最好的解決方案
如何遍歷 ref 結果?
我們應該把useRef
結果放在useEffect
鈎子里
const $target = useRef();
useEffect(() => {
const $component = $target.current.querySelectorAll('a');
}, []);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.