子要素の幅/高さが特定の値を超えた場合にスクロールを有効にするScrollable
と呼ばれるこのクラスを作成しています。ここにコードがあります。反応すると、子供が変わるときに気づく方法を教えてください。
import React, { Component } from 'react';
const INITIAL = 'initial';
class Scrollable extends Component {
render() {
let outter_styles = {
overflowX: (this.props.x? 'auto': INITIAL),
overflowY: (this.props.y? 'auto': INITIAL),
maxWidth: this.props.width || INITIAL,
maxHeight: this.props.height || INITIAL,
};
return (
<div ref={el => this.outterEl = el} style={outter_styles}>
<div ref={el => this.innerEl = el}>
{this.props.children}
</div>
</div>
);
}
};
export default Scrollable;
// To use: <Scrollable y><OtherComponent /></Scrollable>
これは素晴らしいです。これ以外は、スクロール可能な部分を常に下にスクロールさせるもう1つの機能を追加したいと思います。
this.outterEl.scrollTop = this.innerEl.offsetHeight;
しかしthis.props.children
高さが変化したときに呼び出される、この唯一の必要性:私はそれを行う方法のいくつかのアイデアを持っています。どのようにこれを達成するためのアイデアはありますか?
ありがとうございます。
ありがとうございます。私はそれが素晴らしいパッケージだということに同意します。しかし、私はそれよりも簡単な解決策を探しています。私が思いついた解決策はよりクリーンで、より簡単に推論することができると思います。どう思いますか? –
それは本当に依存しています。プレーンなものを探すだけであれば、それはあなたが持っているものと全く同じです。 – Season