4
상위 뷰의 크기를이 하위 구성 요소로 보내는 방법을 이해할 수 없습니다. renderPager()에서 상위 뷰 크기에 의존하는 매개 변수를 계산하고 싶습니다. 나는 우리가 onLayout()을 통해 그것을 할 수 있다는 것을 안다. 문제는 onLayout이 모든 자식을 빌드 한 후에 만 호출된다는 것입니다 (콘솔 로그에서 볼 수 있음). 내가 어떻게 해? 어떻게 반응 네이티브에서 자식보기의 부모 크기를 얻을 수 있습니까?
onPageLayout = (event) => {
const { width, height } = event.nativeEvent.layout;
console.log("ON LAYOUT");
};
render() {
return (
<View
style={styles.root}
onLayout={this.onPageLayout}
>
{this.renderPager()}
</View>
);
}
renderPager =() => {
// how can get root view's size here
return (
<IndicatorViewPager
ref={(ref) => (this.viewPager = ref)}
scrollEnabled={!this.state.isDragging}
onPageScroll={this.onPageScroll}
style={styles.pageRoot}
>
{this.renderPages()}
</IndicatorViewPager>
);
};
는