ScrollView
必ずしもそのサイズを超えるとは限らないコンテンツがあります。エラーが発生すると、エラーメッセージを追加するために展開され、サイズを超えるフォームであるとしましょうScrollView
。そのため、そのスクロールを使用しています。
問題は、コンテンツを常に少なくとも ScrollView と同じサイズにしたいということです。私はminHeight
プロパティを認識していますが、それを使用する唯一の方法は再レンダリングであり、これは避けたいと考えています。
私は状態管理にreduxを使用していますが、これが私が持っているものです
<ScrollView
contentContainerStyle={[ownStyles.container, {minHeight: this.props.scrollHeight}]}
style={this.props.style}
showsVerticalScrollIndicator={false}
onLayout={(event) => {
scrollHeight = event.nativeEvent.layout.height;
this.props.setScrollContentHeight(scrollHeight);
}}
>
this.props.setScrollContentHeight
その状態で高さに入るアクションをトリガーするところ、高さthis.props.scrollHeight
と言います。そのため、onLayout 関数がトリガーされた最初のレンダリングの後、状態が ScrollView で更新され、そのコンテンツheight
として割り当てられます。minHeight
コンテンツのスタイルを に設定するとflex: 1
、ScrollView はスクロールしません。
パフォーマンスのために、その 2 番目のレンダリングを回避する方法を考えられますか?
ありがとうございました!