提供给overlay的类型为“array”的prop“children”无效,应为单个react元素

j5fpnvbx  于 2023-03-31  发布在  React
关注(0)|答案(2)|浏览(152)

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

<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>
kuarbcqp

kuarbcqp1#

正如我在评论中提到的,您需要将WebView Package 到某个容器中,因为您正在向Overlay传递一个子数组,但它只需要一个子数组。

yjghlzjz

yjghlzjz2#

<>添加到覆盖图,并在关闭覆盖图之前添加</>,例如:

<Overlay>
<>
.your code or other components
.
.
</>
</Overlay>

相关问题