我已经简化了下面的问题,我使用useEffect
来确保在选择项目之前渲染了 dom,这很好用并且在尝试获取这些元素之前不需要超时,但是如果我想在中使用这些值另一个组件我如何访问它们?
该printAll()
函数无法找到变量。
import React, { useEffect } from 'react';
const Warning: React.FC = () => {
useEffect(() => {
const confirm = document.getElementById("confirm");
const invalid = document.getElementById("invalid");
const confirmed = document.getElementById("confirmed");
const warningBar = document.getElementById("warning-bar");
}, []);
function printAll () {
console.log(confirm);
console.log(invalid);
console.log(confirmed);
console.log(warningBar);
}
printAll()
return (
<div>
<section className='warning-bar' id='warning-bar'>
<div className='confirm' id='confirm'>Confirm</div>
<div className='invalid' id='invalid'>Invalid</div>
<div className='confirmed' id='confirmed'>Confirmed</div>
</section>
</div>
);
};```