React native &引用;React.Children.仅期望接收单个React元素子级“;放置时出错<;图像>;及<;触控高光>;在a<;视图>;

React native &引用;React.Children.仅期望接收单个React元素子级“;放置时出错<;图像>;及<;触控高光>;在a<;视图>;,react-native,React Native,我的React本机代码中有以下呈现方法: render(){ const{height,width}=Dimensions.get('window'); 返回( ); } 这给了我一个机会 React.Children.仅应接收单个React元素子元素 错误。如果我删除了TouchableHighlight组件,它就可以正常工作。另一方面,如果我删除图像组件,它仍然会产生错误。我不明白为什么它会出现这个错误,应该能够在其中包含多个组件进行渲染。 有什么想法吗?看来必须有一个孩子。文档说它只支持

我的React本机代码中有以下呈现方法:

render(){
const{height,width}=Dimensions.get('window');
返回(
);
}
这给了我一个机会

React.Children.仅应接收单个React元素子元素

错误。如果我删除了
TouchableHighlight
组件,它就可以正常工作。另一方面,如果我删除图像组件,它仍然会产生错误。我不明白为什么它会出现这个错误,
应该能够在其中包含多个组件进行渲染。
有什么想法吗?

看来
必须有一个孩子。文档说它只支持一个子项,并且必须将多个子项包装在
中,但并不是说它必须至少(和大多数)有一个子项。我只想有一个没有文本/图像的素色按钮,所以我认为没有必要添加一个孩子

我将尝试更新文档以表明这一点。

元素是错误的来源。
元素

试着像这样运行代码:

render(){
const{height,width}=Dimensions.get('window');
返回(
此文本是要突出显示的目标
);
}

我也犯了同样的错误,即使在
触摸屏下只有一个孩子。问题是,我有其他一些评论,但不正确。确保您的注释正确无误:

紧接着
触摸无反馈
插入
,这样您就不会出现此错误。那么为什么@Pedram-answer或其他答案就足够解释了。

它通常发生在高光区域。无论如何,错误意味着必须在任意组件中使用单个元素。

解决方案:您可以在父视图中使用单个视图,并且可以在该视图中使用任何内容。见附图


是的,实际上你需要在你的
中有一个孩子

而且,如果您不想用
视图污染您的文件,您可以使用React来实现同样的效果


...
或者更好的是,有一个反应碎片。因此,上述代码可以编写如下:


...
  • 元素内部只能有一个子元素
  • 确保已导入图像

  • 在我的例子中,我只需将元素放在下面一行:

    这会引发一个错误:

    导出功能键盘(道具:IProps){
    返回Keyboard.dismise()}>{props.children}
    ;
    
    }
    使用“
    反应本机手势处理程序”
    ”中的
    可触摸突出显示,而不是“
    反应本机”

    import { TouchableHighlight } from 'react-native-gesture-handler';
    
    文档中的描述表示:

    手势处理程序库提供了RN的可触摸 基于本机按钮且不依赖JS的组件 RN使用的应答器系统。我们的可触摸实现如下 同样的API,旨在成为触控设备的替代品 在React Native中提供

    您可以从以下位置安装此库:

    欢迎来到堆栈溢出。请不要使用文本图像来描述可以轻松键入的内容,然后使用您可以使用的降价工具进行格式化。