React Native:无法使用 flex box 连续渲染组件
React Native: Unable to render components in a row with flex box
我正在对 FlatList 中的项目使用 react-native-swipeout,每个列表项目在文本的两侧都有一个 'minus' 和 'plus' 按钮(上图)。
但是,当将这些组件添加为 Swipeout 组件的子组件时,它们都堆叠在彼此的顶部并位于行的左侧(下图)。
我在这里遗漏了什么吗?
<Swipeout
style={styles.swipeStyle}
{...swipeSettings}>
<View style={styles.buttonContainer}>
<MinusButton />
</View>
<View style={styles.itemStyle}>
<Text>{this.props.name}</Text>
</View>
<View style={styles.buttonContainer}>
<PlusButton />
</View>
</Swipeout>
const styles = {
swipeStyle: {
flex: 1,
flexDirection: 'row',
flexWrap: 'nowrap',
justifyContent: 'flex-start',
alignItems: 'flex-start'
},
buttonContainer: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
padding: 5,
},
itemStyle: {
flex: 1,
}
};
如果你看source code,还有一个内胆包裹着children,你不能直接设置内胆的style
。
我建议将您的 children 包装成 <View />
,例如:
<Swipeout {...swipeSettings}>
<View style={styles.swipeStyle}>
<View style={styles.buttonContainer}>
<MinusButton />
</View>
<View style={styles.itemStyle}>
<Text>{this.props.name}</Text>
</View>
<View style={styles.buttonContainer}>
<PlusButton />
</View>
</View>
</Swipeout>
我正在对 FlatList 中的项目使用 react-native-swipeout,每个列表项目在文本的两侧都有一个 'minus' 和 'plus' 按钮(上图)。
但是,当将这些组件添加为 Swipeout 组件的子组件时,它们都堆叠在彼此的顶部并位于行的左侧(下图)。
我在这里遗漏了什么吗?
<Swipeout
style={styles.swipeStyle}
{...swipeSettings}>
<View style={styles.buttonContainer}>
<MinusButton />
</View>
<View style={styles.itemStyle}>
<Text>{this.props.name}</Text>
</View>
<View style={styles.buttonContainer}>
<PlusButton />
</View>
</Swipeout>
const styles = {
swipeStyle: {
flex: 1,
flexDirection: 'row',
flexWrap: 'nowrap',
justifyContent: 'flex-start',
alignItems: 'flex-start'
},
buttonContainer: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
padding: 5,
},
itemStyle: {
flex: 1,
}
};
如果你看source code,还有一个内胆包裹着children,你不能直接设置内胆的style
。
我建议将您的 children 包装成 <View />
,例如:
<Swipeout {...swipeSettings}>
<View style={styles.swipeStyle}>
<View style={styles.buttonContainer}>
<MinusButton />
</View>
<View style={styles.itemStyle}>
<Text>{this.props.name}</Text>
</View>
<View style={styles.buttonContainer}>
<PlusButton />
</View>
</View>
</Swipeout>