React native 最小宽度/高度(单位:mm)

React native 最小宽度/高度(单位:mm),react-native,React Native,如何设置本机组件的最小宽度或高度 在css中,我可以使用最小宽度/最小高度 react native docs上没有minWidth/minHeight,您可以这样做: \u getButtonStyle(){ var style={height:36,padding:8} 如果(this.props.buttonText.length

如何设置本机组件的最小宽度或高度

在css中,我可以使用最小宽度/最小高度


react native docs上没有minWidth/minHeight,您可以这样做:

\u getButtonStyle(){
var style={height:36,padding:8}
如果(this.props.buttonText.length<4){
style.width=64
}
返回样式
}

我能为您找到解决方案。这是一个工作演示。。。

这里是关键部分

首先,你把设备尺寸拉进去

var-Dimensions=require('Dimensions');
变量{
宽度,
高度
}=Dimensions.get('window');
这是button组件,它使用设备宽度作为按钮使用的基础

const按钮=React.createClass({
render(){
返回(
{this.props.children}
)
}
});
然后,正如您在这里看到的,无论标签内容的宽度如何,按钮的宽度都是相同的


这个答案现在已经过时了,请使用halilb的答案

我通过使用
onLayout
道具解决了这个问题,它非常简单:

例如:

步骤1:我在我们的州创建了一个道具,它将保持名为
curImgHeight
的图像的当前高度

constructor(){
超级(道具);
this.state={curimghight:0}
}
步骤2:在任何支持
联机布局的
视图
元素
中使用该道具。

这里我将它与
图像一起使用。然后,我们所要做的就是,只要实际图像高度大于我们的最小高度,就改变状态属性

render(){

自react本机版本0.29.0起,支持和的minHeightmaxHeightminWidthmaxWidth属性

以下是中的maxHeight说明。此说明也适用于其他最小/最大样式属性

maxHeight是此组件的最大高度,单位为 逻辑像素

它的工作原理类似于CSS中的“最大高度”,但在React Native中,您必须 使用点数或百分比。不支持Ems和其他单位

寻找 更多细节

一个虚构的例子:



您可以使用minHeight或flexBasis,两者类似。

min width和min height的用例是什么?也许您可以动态设置宽度/高度,确保其不小于目标最小值。我想为按钮设置最小宽度,我想要一个最小宽度的按钮,即使它的文本非常短。这是github的一个问题。以下是这是一个最新状态的链接(扰流板警报:现在已经收回)由于设置状态为,此解决方案会闪烁async@ptomasroos您可以使用async/await语句将其设置为同步,如:Thank.Good call,但由于setState不会反映为同步,因此将在渲染往返中闪烁。由于对setState的调用在其VisibleMhinghight和maxHeight在React中似乎受支持之前是真正异步的-土生土长的