我想你想要这样的东西:
组件/index.js:
import React from 'react';
import {
View,
} from 'react-native';
import style from './style';
export default class Component extends React.Component {
render() {
return (
<View style={style.root}>
<View style={style.childOne} />
<View style={style.childTwo} />
</View>
);
}
}
组件/style.js:
import { StyleSheet } from 'react-native';
export default StyleSheet.create({
root: {
flex: 1,
position: 'relative',
},
child1: {
...StyleSheet.absoluteFillObject,
},
child2: {
...StyleSheet.absoluteFillObject,
},
});
因此,View 和 root 样式将填充其父级的所有空间,因为它具有 flex: 1。而且它有position: relative,所以绝对定位的孩子会做相应的动作。
Views 与 child1 和 child2 都具有绝对定位(StyleSheet.absoluteFillObject 是 {position: 'absolute', top: 0, right: 0, bottom: 0, left: 0} docs here 的快捷方式)。 child1 和 child2 将重叠,child2 将在 child1 之上,因为它稍后呈现。