JSON配列からデータを抽出し、そこからオブジェクトを作成し、for
ループを使用して作成しているオブジェクト内の配列から必要な文字列値を設定します。React Nativeの配列への値の受け渡し
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()
関数内で呼び出されます。
return(
<ScrollView horizontal={true}>
{gameIconList}
</ScrollView>
);
あなたは私がたonPress FUNCTに文字列値を設定しています見ることができるようにイオンは、ループを介して呼び出すと、私は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
の呼び出し方法を試しましたが、役に立たないです。
私には何が欠けていますか? これが関数に値を送信する正しい方法でない場合、正しく行う方法についてのガイドを入手できますか?
私はそれをクリックしたときにidsを設定した後、この回答によると、OPと同じ機能でエラーが発生します。私は 'undefined is not objectを評価しています(response.data [i] .category ') 'しかし、同じ' response.data [i] .category'はテキストフィールドにその名前を表示します。 –
'onPress = {this.launchGame.bind(これ、gamesList [i] .provider、gamesList [i] .gameId)}'私のために働いたつもり:) –