JSON 배열에서 데이터를 추출하고 그 중에서 객체를 생성하고 for
루프를 사용하여 생성중인 객체 내의 배열에서 필요한 문자열 값을 설정합니다.React Native in Array에서 값을 함수로 전달
return()
기능에
var gamesList = [];
gamesList = this.props.navigation.state.params.gamesList;
var gameIconList = [];
for(var i=0;i<3;i++){
var provider = gamesList[i].provider;
var gameId = gamesList[i].gameId.toString();
gameIconList.push(
<TouchableOpacity onPress={(provider,gameId) => this.launchGame(provider,gameId)}>
<ResponsiveImage source={{uri: gamesList[i].imageUrl}}
initWidth="200" initHeight="120" defaultSource={require('./splash-tile2.png')} />
</TouchableOpacity>
);
}
이 모든 render()
함수 내에서 발생하고 {gameIconList}
가 호출됩니다
return(
<ScrollView horizontal={true}>
{gameIconList}
</ScrollView>
);
당신은 내가 onPress에의 (SECURITY) 기능을 비활성화로 문자열 값을 설정하고 볼 수 있듯이 이온 루프를 통해 전화와 나는 TouchableOpacity
내에서 이미지를 클릭하면 내가되는 위의 함수로 다시 보낼 설정하고있는 문자열 값을 원하는 :
launchGame = (provider, gameId) => {
params = {
Provider: provider.nativeEvent.text,
Platform: this.state.Platform,
Environment: this.state.Environment,
GameId: gameId,
IsDemo: this.state.IsDemo
};
request = {
method: 'POST',
headers:{
"Content-Type": "application/json"
},
body: params
};
}
는 그러나 문제는 내가 시도되는 다른 많은 메서드와 나는 항상 프로 시저 값을 얻는 것을 끝내고 프로 바이더 값에 관해서는 나에게 보내졌고, 정의되지 않은 값은 gameId 값에 관해서 나에게 보내졌다.
나는 event.target.value
과 event.nativeEvent.text
이라는 호출 방법을 시도했지만 아무 소용이 없습니다.
무엇이 누락 되었습니까? 이것이 올바른 값으로 함수에 전달되지 않는 경우 제대로 수행하는 방법에 대한 지침을 얻을 수 있습니까?
내가 OP를 요청했을 때와 같은 기능에 오류가 발생했습니다. 클릭 할 때 ID를 설정 한 후이 대답에 따라'undefined is not object (evaluation 'response.data [i] .category ')'하지만 동일한'response.data [i] .category'는 텍스트 필드에 이름을 출력합니다. –
'onPress = {This.launchGame.bind (this, gamesList [i] .provider, gamesList [i] .gameId)}'마침내 나를 위해 일했다 :) –