Chcę utworzyć listę pól w zależności od numeru gracza, który został wybrany. Chciałem zrobić coś takiego:Pętla w trybie natywnego reagowania
generatePaymentField() {
var noGuest = this.state.guest;
var payment =
<View>
<View>
<View><Text>No</Text></View>
<View><Text>Name</Text></View>
<View><Text>Preference</Text></View>
</View>;
for (var i=0; i < noGuest; i++) {
payment = payment +
<View>
<View>
<TextInput />
</View>
<View>
<TextInput />
</View>
<View>
<TextInput />
</View>
</View>;
}
return payment;
}
render() {
var payment = this.generatePaymentField();
this.setState({payment : payment});
return (
<View>
{this.state.payment}
</View>;
)
}
Ale reagować-natywnej składni powyżej traktowane jako „nieoczekiwany znak” wskazując na linii do pętli. Czy jest jakiś inny sposób, w jaki mogę to osiągnąć?
Och, widzę. Czy w reakcji na natywność rzeczy takie jak płatność = płatność + ... nie istnieją? Musimy traktować je jak tablicę? –
Nadal można używać '+', użyłem Array dla uproszczenia. Możesz użyć zwykłego javascript. – vinay
Hmmmm. Czy możesz wyjaśnić, dlaczego mój wcześniejszy kod nie zadziałał? Innym pytaniem jest to, że teraz daje mi ostrzeżenie o potrzebie kluczy dla każdego przedmiotu, gdzie powinienem umieścić klucz? –