Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无效的道具';儿童';类型为';数组';提供给覆盖层。应为单个元素_Javascript_React Native_Overlay_React Props - Fatal编程技术网

Javascript 无效的道具';儿童';类型为';数组';提供给覆盖层。应为单个元素

Javascript 无效的道具';儿童';类型为';数组';提供给覆盖层。应为单个元素,javascript,react-native,overlay,react-props,Javascript,React Native,Overlay,React Props,它工作得很好,我所看到的其他答案并没有一个真正适合我的解决方案。我做错了什么 <Overlay isVisible={this.state.isVisible} onBackdropPress={() => this.setState({ isVisible: false })} > { this.state.userSlugs.map((l, i) => ( <WebView key = {i} source={{uri:

它工作得很好,我所看到的其他答案并没有一个真正适合我的解决方案。我做错了什么

  <Overlay
  isVisible={this.state.isVisible}
  onBackdropPress={() => this.setState({ isVisible: false })}
>
  {
    this.state.userSlugs.map((l, i) => (
    <WebView key = {i}
    source={{uri: 'https://myurl.com'+l}}
    style={{marginTop: 20}}
    injectedJavaScript={`const meta = document.createElement('meta'); 
    meta.setAttribute('content', 'width=device-width, initial-scale=0.3,
     maximum-scale=0.3, user-scalable=0'); meta.setAttribute('name', 'viewport'); 
     document.getElementsByTagName('head')[0].appendChild(meta); `}
    scalesPageToFit={false}
  />
    ))
  }
</Overlay>
this.setState({isVisible:false})
>
{
this.state.userSlugs.map((l,i)=>(
))
}

正如我在评论中提到的,您需要将
Web视图
包装到某个容器中,因为您要将一个子元素数组传递给
覆盖
,但它只需要一个子元素

您正在向
覆盖
组件提供一个子元素数组(通过使用
映射
)。
Overlay
组件似乎只需要一个react元素作为子元素。请尝试将WebView数组包装到某个容器中。嘿@Clarity。将WebView数组包装到容器中是可行的。加上这个作为答案,我会接受的。