ネイティブに反応するのは初めてです。 配列の要素の数に応じて、3回のドロップダウンを連続してレンダリングしています。 配列に3つの要素がある場合、3行の3つのドロップダウンがあります。 しかし、単一のドロップダウンからonpressを呼び出すと、3行すべての対応する要素に影響します。 どうすれば個々の行を個別に制御できますか? ソリューションの多くは、バインドを使用すると言うが、私が試した方法は何に影響を与えませんでした。 click to see the rendered layout looks for 3 elements in the arrrayReact native:map()生成コンポーネントから各onpress()を個別に制御する方法
render_center_selection(){
return(
this.props.selecteddays_array.map((a, i) => {
return(
<View key={i} style={{ height:40, borderBottomWidth:2, borderBottomColor: '#ededed' }}>{
<View style={{flexDirection:'row'}}>
<ModalDropdown
style={styles.selection}
defaultValue='Venue'
textStyle={{width:200,fontSize:20,textAlign:'center',color: '#7070D8'}}
dropdownStyle={styles.dropdownstyle}
dropdownTextStyle={{width:350,fontSize:20,textAlign:'center',backgroundColor: '#FDD60B',}}
options={this.state.venue_name_array}
onSelect={(index,value)=>{this.onVenueSelect(index,value)}}/>
<ModalDropdown
ref="modal_dayselect"
style={styles.dayselection}
defaultValue='Day'
textStyle={{width:50,fontSize:15,textAlign:'center',color: '#7070D8'}}
dropdownStyle={styles.daydropdownstyle}
dropdownTextStyle={{width:50,fontSize:15,textAlign:'center',backgroundColor: '#FDD60B',color: '#7070D8'}}
options={this.state.day_array}
onSelect={(index,value)=>{this.onDaySelect(index,value)}}/>
<ModalDropdown
ref="modal_hrsselect"
style={styles.dayselection}
defaultValue='HRS'
textStyle={{width:50,fontSize:15,textAlign:'center',color: '#7070D8'}}
dropdownStyle={styles.daydropdownstyle}
dropdownTextStyle={{width:50,fontSize:15,textAlign:'center',backgroundColor: '#FDD60B',color: '#7070D8'}}
options={this.state.hrs_array}
onSelect={(index,value)=>{this.setState({selected_hr:value})}}/>
{(this.state.editstatus)
?<Text>Edit</Text>
:<Text></Text>
}
</View>
}</View>)
})
);
}
これらの要素をレンダリングする単一のコンポーネントはありますか?同じコンポーネントで 'setState'を呼び出していることを確認しましたか? –
申し訳ありませんが、あなたは何を意味するのか分かりませんでした。私はこれに新しいです。あなたはもっとそれを説明することができます –
このビューをレンダリングするためにコンポーネントを使用していますか?反応の場合と同様に、UI要素をレンダリングするためのコンポーネントがあります。そのため、あなたが呼び出す 'setState'メソッドは、いくつかのコンポーネントに属しています。レンダリングしている要素が単一のコンポーネントの中にある場合。変更が反映されます。 –