提供给叠加层的 'array' 类型的无效道具 'children'。预期单个反应元素
Invalid prop 'children' of type 'array' supplied to overlay. Expected a single react element
它工作得很好,我看过的其他答案并没有真正适合我的解决方案。我做错了什么?
<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>
正如我在评论中提到的,您需要将 WebView
包装到某个容器中,因为您要将一组子项传递给 Overlay
,但它只需要一个子项。
它工作得很好,我看过的其他答案并没有真正适合我的解决方案。我做错了什么?
<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>
正如我在评论中提到的,您需要将 WebView
包装到某个容器中,因为您要将一组子项传递给 Overlay
,但它只需要一个子项。