小编Jun*_*ary的帖子

如何在反应原生的子视图中获取父级大小?

我无法理解如何将父视图的大小发送到子组件.在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

8
推荐指数
1
解决办法
9190
查看次数

标签 统计

react-native ×1