如何获取react-native组件的高度?

mar*_*man 3 javascript reactjs react-native

如何获得反应组件的高度?我想使用一个组件的高度值作为其他组件的填充值,如何在React Native中做到这一点?例如,我制作了一个选择器组件

import { Picker } from '@react-native-picker/picker';
Run Code Online (Sandbox Code Playgroud)

我想做一个<view>带有padding值的组件padding:{Picker}.height,怎么做?

更新

感谢 @Aseem Gautam 和 @Aniket Kolekar,我已经尝试了 Picker 组件的解决方案,但它不起作用,当我使用 View 组件尝试它时,它工作得很好。为什么会发生这种情况?这是否意味着 Picker 组件不继承 View props?这是我尝试过的代码

import React, { Component } from "react";
import { View, Text, SectionList } from "react-native";
import { Picker } from "@react-native-picker/picker";

export default class App extends Component {
  find_dimension(layout){
    const {x, y, width, height} = layout;
    console.warn(x);
    console.warn(y);
    console.warn(width);
    console.warn(height);
  }

  render(){
    return(
      <View>
        <Picker onLayout={(event) => {this.find_dimension(event.nativeEvent.layout)}}>
          <Picker.Item label="Java" value="java" />
          <Picker.Item label="JavaScript" value="js" />
        </Picker>
      </View>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

Ase*_*tam 6

继承Picker道具View。您可以使用onLayout事件来获取选择器的height, width, x& y

<Picker
  onLayout={(event) => {
  var {x, y, width, height} = event.nativeEvent.layout;
}>
  <Picker.Item label="Java" value="java" />
  <Picker.Item label="JavaScript" value="js" />
</Picker>

Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

9246 次

最近记录:

4 年,6 月 前