React Native コードには次のレンダリング メソッドがあります。
render() {
const {height, width} = Dimensions.get('window');
return (
<View style={styles.container}>
<Image
style={{
height:height,
width:width,
}}
source={require('image!foo')}
resizeMode='cover'
/>
<TouchableHighlight style={styles.button}/>
</View>
);
}
次のエラーが発生します:
React.Children.only
単一のReact要素の子を受け取ることが期待される
コンポーネントを削除するとTouchableHighlight
、正常に動作します。Image コンポーネントを削除すると、依然としてエラーが発生します。
なぜこのエラーが発生するのかわかりません。<View>
レンダリングのために複数のコンポーネントを内部に持つことができるはずです。
ベストアンサー1
には、正確に 1 つの子が必要であるようです<TouchableHighlight>
。ドキュメントには、1 つの子のみをサポートし、複数の子は でラップする必要があると書かれています<View>
が、少なくとも (そして大抵は) 1 つの子が必要であるとは書かれていません。テキストや画像のない単色のボタンが欲しかっただけなので、子を追加する必要はないと判断しました。
これを示すためにドキュメントを更新してみます。