javascript マップを使用してキーと値のペアを読み取っているときにエラーが発生し、ピッカーがネイティブに反応する

Sricharan Kambhammettu

ケイと値のペアからネイティブに反応するピッカー要素のキー値を入力しようとしています。キーと値のリストを渡そうとすると、アプリがクラッシュします。

例: (これは機能しません)

-- In the constructor
stateList: [{1:'Fortsworth'},{2:'Chicago'}],

--In the render()
this.state.stateList.map( (s, i) => {
  console.log('key='+i+',value='+s);
   return <Picker.Item key={i} value={s} label={s} />
});

ただし、キーと値のペアなしで配列を渡す場合にのみ機能します。以下のコードは機能します。

-- In the constructor
stateList: ['Fortsworth','Chicago'],

--In the render()
this.state.stateList.map( (s, i) => {
  console.log('key='+i+',value='+s);
   return <Picker.Item key={i} value={s} label={s} />
});

キーを「1」、値を「Fortsworth」としてピッカーに渡す必要があります。ご意見をお待ちしております。

ジゼル

これは、これを行うために私が知っている唯一の方法です。

Object.keys(this.state.stateList).map(function(key) {
    let value = this.state.stateList[key];
    console.log('key=' + key + ',value=' + value);
    return <Picker.Item key={key} value={value} label={value} />
}

基本的に、キーのリストをループし、そのキーを使用してマップから値をプルします。

誰かがもっと良い解決策を持っているなら、私もこれに興味があるので、ぜひ答えとしてそれを提供してください。

編集:

申し訳ありませんが、マップ エントリのリストがあることに気付きました。私の答えとしては、あなたはstateList地図である必要があります:

stateList: {1:'Fortsworth', 2:'Chicago'}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ