反应:无法读取document.body.style.marginRight

时间:2019-02-03 02:07:23

标签: css reactjs dom document-body

我无法读取所述主体的边缘向右的CSS特性。这似乎失败初始渲染,但几次它似乎工作,当我手动设置保证金的权利。我希望它有一些组件时渲染时的事情。试图useEffect和useLayoutEffect没有成功。

相关CSS:

body {
    margin-right: 10px;
}

简单创建反应的应用程式:

function App() {
  const [marginRight, setmarginRight] = useState(
    document.body.style.marginRight
  );

  return (
    <div className="App">
      <p>BODY Right margin is: {marginRight}</p>
    </div>
  );
}

Edit k98p8r5ppv

1 个答案:

答案 0 :(得分:3)

HTMLelement.style仅返回内联样式。要从css文件访问样式,应使用:

window.getComputedStyle(document.body).marginRight