我正在尝试为React-Native建立一个库,但我有一个不寻常的要求。我不知道它是否可行。
我必须构建一个包装器组件,
<Container showContent={true}>
<Text>hello</Text>
</Container>
在Container中,就像这样
render() {
<View>
{this.props.children}
</View>
}
问题是,这将是条件渲染。我知道我可以通过使用容器组件内部的父<View>
组件来获得子项的尺寸。
但是我不能,为什么?因为我想在不渲染的情况下进行测量。 就像
render() {
if(this.props.showContent) {
return this.props.children;
}
return <SomeOtherView />
}
最初是SomeOtherView
,在此阶段,我需要子组件的高度和宽度。
我在构建库时,不想传递所有方法。所以我想要一种优雅的方式。我只希望用户使用我的组件,就像它包含在第一个代码片段中一样,在组件内部,即使不渲染它,我也应该获得子代的高度和宽度。
我不知道是否可能。
我试图查看props.children
提供的所有方法,但是找不到我可以使用的任何方法。