0

親要素に応じてコンポーネントの寸法を設定する必要があります。レンダリングする前に、virtualDOM から参照によって親の幅と高さを取得することは可能ですか?

export default class App extends React.Component {
  render() {

    return (
      <div>
        <div className={'avocado-container'} ref={(container) => { this.container = container; }}>
          <Resizer parent={this} scrollAxis={'y'}>
          </Resizer>
        </div>
      </div>
    );
  }
}

子のコンストラクターで寸法を取得する必要があります。

のようなもので可能this.refs.container.offsetWidthですか?

4

1 に答える 1

0

いいえ。レイアウトのサイズは、仮想 DOM ではなく、ブラウザーによって計算されます。寸法を手動で設定するか、CSS を使用して子コンポーネントの幅と高さを埋めます。レンダリングされたコンポーネントから幅と高さを読み取り、そこでcomponentDidMount呼び出すこともできますsetStateが、これは理想的ではなく、2 回目のレンダリングが発生しますが、実行する必要がある場合もあります。

于 2017-02-12T17:03:40.787 に答える