react-sizeme不测量组件的高度

时间:2018-12-09 18:34:22

标签: reactjs react-component

我正在使用react-sizeme来测量ant设计中Content组件的高度/宽度。这是我的代码:

 <SizeMe render={({ size }) => {
            if (size.width == null && size.height == null) {
              return <Content></Content>
            } else {
              //Content contains a lot of HTML, so I only want to fully render it after the inital size has been determined
              return <Content>Width: {size.width} Height: {size.height}</Content>
            }
          }} />

但是,size.height是未定义/为空。为什么未测量高度,如何解决此问题?

1 个答案:

答案 0 :(得分:2)

默认情况下,SizeMe不会跟踪高度。您可以通过添加monitorHeight来解决此问题:

import React from "react";
import ReactDOM from "react-dom";
import { SizeMe } from "react-sizeme";

function App() {
  return (
    <SizeMe
      monitorHeight
      render={({ size }) => {
        return <h1>I am {size.height}px tall!</h1>;
      }}
    />
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

您可以在Github仓库here上看到可用的选项。