我在本机代码中具有以下渲染方法:
render() {
const {height, width} = Dimensions.get('window');
return (
<View style={styles.container}>
<Image
style={{
height:height,
width:width,
}}
source={require('image!foo')}
resizeMode='cover'
/>
<TouchableHighlight style={styles.button}/>
</View>
);
}
它给了我这个错误:
React.Children.only
预计会收到一个react元素的孩子
如果我删除TouchableHighlight
组件,它可以正常工作。如果我删除图像组件,它仍然会出现该错误。
我看不出为什么会给我这个错误。<View>
应该能够内部有多个组件进行渲染。
答案
看起来<TouchableHighlight>
必须有一个孩子。文档说,它仅支持一个孩子,一个以上的孩子必须包裹在一个<View>
,但并不是说它至少必须有一个孩子(大多数)一个孩子。我只是想拥有一个没有文本/图像的纯色按钮,所以我认为有必要添加一个孩子。
我将尝试更新文档以表明这一点。