【发布时间】:2021-10-29 02:49:40
【问题描述】:
您好,我正在使用 ReactJS 创建进度条,但我遇到了问题
我的进度条将是一个 React 组件,我将在 props 中传递进度值
由于某种原因,document.getElementById() 似乎没有找到任何东西
import './MyProgressBar.css'
const MyProgressBar = (props) => {
const value = props.value
const progressbar = document.getElementById("hello");
progressbar.style.width = value + "%"
return (
<div class="progress">
<div id="hello" class="color"></div>
</div>
)
}
export default MyProgressBar
它会抛出一个错误,提示“无法在 MyProgressBar (MyProgressBar.js:9) 处读取 null 的属性 'style'.....”
【问题讨论】:
-
在 DOM 准备好之前评估在组件顶层运行的代码,如果您必须使用直接操作将其包装在
useEffect或useLayoutEffect中,但你真的应该利用 React 进行响应式更改。
标签: javascript html reactjs progress-bar getelementbyid