「React.Children.onlyは単一のReact要素の子を受け取ることが期待されています」というエラーが、 で 質問する

「React.Children.onlyは単一のReact要素の子を受け取ることが期待されています」というエラーが、 で 質問する

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 つの子が必要であるとは書かれていません。テキストや画像のない単色のボタンが欲しかっただけなので、子を追加する必要はないと判断しました。

これを示すためにドキュメントを更新してみます。

おすすめ記事