我想得到一個元素的高度,和身體的寬度,所以我打電話
document.style.width
[element].style.height
回傳空字串,所以我得到了當我呼叫 [element].style / document.style 我收到這個:
CSS 串列
為什么會發生這種情況?? 是 React 的問題嗎?我沒有使用樣式組件,只使用帶有 webpack 的 css-loader 和 style-loader 的 css 模板
uj5u.com熱心網友回復:
你需要把它想象成一個反應,在你的示例中,你是通過真實的 dom 來做到這一點的,這是不正確的,你需要做什么,它的用途 useRef
例如:
const imageRef = useRef(null);
<img
ref={(node) => {
imageRef.current = node;
}}
/>
你可以像這樣使用它(就像真正的 dom):
imageRef.current.clientHeight
您可以閱讀此主題:React Ref 和 Dom
uj5u.com熱心網友回復:
可能這是因為在代碼中還沒有設定樣式(例如在 JS 中的 element.style.property = value,或元素中的 style="property: value;" 行內)。
我懷疑樣式是通過樣式表和類完成的。
您想要的是獲取當前計算的 stle。嘗試:
window.getComputedStyle(element);
關于你感興趣的元素。
請參閱https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/346558.html
標籤:javascript css 反应
上一篇:CreateContainerIfNotExistsAsync比GetContainer慢?
下一篇:如何在第一個列中有標題
