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数组包装到容器中是可行的。加上这个作为答案,我会接受的。