Skip to main content
 首页 » 编程设计

javascript之将 Image> 和 TouchableHighlight> 放入 View> 时出现 "React.Children.only expected to receive a single React element child"错误

2024年02月27日17xxx_UU

我的 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 。

我会尝试更新文档来表明这一点。