我的 React Native 代码中有以下渲染方法:
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
expected to receive a single React element child
如果我删除 TouchableHighlight
组件,它工作正常。如果我删除 Image 组件,它仍然会出现该错误。
我不明白为什么它会给我这个错误。 <View>
应该能够在其中包含多个组件进行渲染。
请您参考如下方法:
看来<TouchableHighlight>
必须有一个 child 。文档说它仅支持一个 child ,并且必须将多个 child 包装在 <View>
中。 ,但并不是说它必须至少(和大多数)有一个 child 。我只是想要一个没有文本/图像的纯色按钮,所以我认为没有必要添加一个 child 。
我会尝试更新文档来表明这一点。