我无法理解如何将父视图的大小发送到子组件.在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>
);
};
Run Code Online (Sandbox Code Playgroud)
谢谢
react-native ×1