2017-01-06 10 views
0

反応ネイティブアプリ用に複数のカスタムボタンを作成したいと思います。 配列内のすべての情報を持つ配列を使用しています。配列のすべてのボタンを繰り返し、すべてのボタンを1つのビューで作成します。 私はこのようなものを試しました:ループ内で複数のボタンをビュー内に作成する

<View> 
    for(let i=0; i<numberButtons; i++) { 
      <TouchableOpacity style={[styles.mapView, this.props.mapViewStyle]} > 
      <Image 
       style={[styles.image, this.props.imageStyle]} 
       source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}} 
      /> 
      </TouchableOpacity> 
} 
</View> 

それは動作していないようです。私は反応ネイティブフレームワークからエラーを得るので、ビューでjsを実行できないと思いますか?

どうすればいいですか?

答えて

2

あなたはこのようにそれを行うことができます。

renderButtons =() => { 
    const buttons = []; 
    for(let i = 0; i < numberButtons; i++) { 
    buttons.push(
     <TouchableOpacity style={[styles.mapView, this.props.mapViewStyle]}> 
     <Image 
      style={[styles.image, this.props.imageStyle]} 
      source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}} 
     /> 
     </TouchableOpacity> 
    ) 
    } 
    return buttons; 
} 



render() { 
    return (
    <View> 
     {this.renderButtons()} 
    </View> 
) 
} 
+0

OKクールを、ありがとう:)私は反復とスタッフに「正常な」方法で行うことができない理由を説明できますか? – ViktorG

+0

確かに、いつでもあなたはブラケット{}に入れなければならないJavaScriptを使用したいと思う、私はあなたがレンダリングで返すものはJSXとして読まれると信じています。 –

+0

を参照してください。よく知って良い!ありがとう – ViktorG

関連する問題